StupidBeauty
Read times:1487Posted at:Tue Feb 15 22:21:35 2011

Qt Jambi 4.4.3文档翻译:Qt Jambi教程2-让它退出,Qt Jambi Tutorial 2 - Calling it Quits

文档原地址 http://doc.trolltech.com/qtjambi-4.4/html/com/trolltech/qt/qtjambi-tutorial2.html

本文章来自飞豚扫描器的博客 http://stupidbeauty.com/AirPhin

[前一: Qt Jambi教程1 - 世界你好 !][Qt Jambi教程][下一: Qt Jambi教程3 - 家族价值 Family Values ]

代码:

 


在第1 章里已经创建咯一个窗口,现在我们继续,让程序在用户告诉它的时候适当 地退出。

另外,我们会使用一个更有激情的字体 。我们给出这个程序的整个源代码

public class Quit

{

   public static void main(String args[])

   {

     QApplication.initialize(args);

 

 

     QPushButton quit = new QPushButton("Quit");

 

     quit.resize(80, 40);

 

     quit.setFont(new QFont("Times", 18, QFont.Weight.Bold.value()));

 

 

 

     quit.clicked.connect(QApplication.instance(), "quit()");

 

     quit.setWindowTitle("Calling It Quits");

     quit.show();

     QApplication.exec();

   }

}

一行行地看

     QPushButton quit = new QPushButton("Quit");

这次,按钮显示的是 Quit ,那正是用户 击按钮时程序要做的事

     quit.resize(80, 40);

我们为这个按钮设置了另一个大小,因为现在的文字 比"Hello world!"短一点 。我们还可以使用 QFontMetrics 来设置合适的大小 ,或者让 QPushButton选 择一个合理的默认值。

     quit.setFont(new QFont("Times", 18, QFont.Weight.Bold.value()));

这里,我们为这个按钮选择一个新的字体 :Times 字体 族中的18点粗体字体。还可以改变整个 程序的默认字体 ,使用 QApplication::setFont()就 行咯。我们从Weight 枚举 值中获得它的值, 因为在构造函数里字体的大小是以整数的形式给定的

     quit.clicked.connect(QApplication.instance(), "quit()");

我们将clicked 信号连接到QApplicationquit()信号槽上( QApplication. instance() 返回这个程序的唯一的 QApplication 实例)。 clicked是Signal0 类的一个实例,而quit()QApplication 中的一个常规方法,它使程序退出。当 connect() 被调用时 ,这 2个QtJambiObject之间将建立起1个单向 的连接。当这个信号槽连接到这个信号之后,在这个信号上的某个方法被调用时就会调用quit()方法;这就叫做发射信号。在这个例子中 ,当用户用鼠标猛击按钮时,程序会退出。

每个Qt Jambi对象都能拥有信号 signal )(用来发送消息)和信号槽( slot )(用来接收消息)。所有的部 件都是Qt Jambi 对象,因为它们继承咯 QWidget ,而那个东西间接地继承咯 QtJambiObject

这个信号/信号槽机制可能是 Qt Jambi 的最核心的特性咯。 信 号与信号槽文档里对这个主题进行咯细节性的描述。

运行程序

当你运行这个程序时,你会看到一个比第1 章中的窗口更小的窗口 ,里面是一个更小的按钮

参见第1 章,以编译并且运行程序。

练习

试着改变窗口的大小。按那个按钮以关闭程序。

QPushButton 中有没有其它的信号可以连接到quit[提示 QPushButtonQAbstractButton 中继承咯它的大部分功能]

Qt Jambi 4.4.3文档翻译:Qt Jambi教程2-让它退出,Qt Jambi Tutorial 2 - Calling it Quits

文档原地址 http://doc.trolltech.com/qtjambi-4.4/html/com/trolltech/qt/qtjambi-tutorial2.html

本文章来自飞豚扫描器的博客 http://stupidbeauty.com/AirPhin

[前一: Qt Jambi教程1 - 世界你好 !][Qt Jambi教程][下一: Qt Jambi教程3 - 家族价值 Family Values ]

代码:

 


在第1 章里已经创建咯一个窗口,现在我们继续,让程序在用户告诉它的时候适当 地退出。

另外,我们会使用一个更有激情的字体 。我们给出这个程序的整个源代码

public class Quit

{

   public static void main(String args[])

   {

     QApplication.initialize(args);

 

 

     QPushButton quit = new QPushButton("Quit");

 

     quit.resize(80, 40);

 

     quit.setFont(new QFont("Times", 18, QFont.Weight.Bold.value()));

 

 

 

     quit.clicked.connect(QApplication.instance(), "quit()");

 

     quit.setWindowTitle("Calling It Quits");

     quit.show();

     QApplication.exec();

   }

}

一行行地看

     QPushButton quit = new QPushButton("Quit");

这次,按钮显示的是 Quit ,那正是用户 击按钮时程序要做的事

     quit.resize(80, 40);

我们为这个按钮设置了另一个大小,因为现在的文字 比"Hello world!"短一点 。我们还可以使用 QFontMetrics 来设置合适的大小 ,或者让 QPushButton选 择一个合理的默认值。

     quit.setFont(new QFont("Times", 18, QFont.Weight.Bold.value()));

这里,我们为这个按钮选择一个新的字体 :Times 字体 族中的18点粗体字体。还可以改变整个 程序的默认字体 ,使用 QApplication::setFont()就 行咯。我们从Weight 枚举 值中获得它的值, 因为在构造函数里字体的大小是以整数的形式给定的

     quit.clicked.connect(QApplication.instance(), "quit()");

我们将clicked 信号连接到QApplicationquit()信号槽上( QApplication. instance() 返回这个程序的唯一的 QApplication 实例)。 clicked是Signal0 类的一个实例,而quit()QApplication 中的一个常规方法,它使程序退出。当 connect() 被调用时 ,这 2个QtJambiObject之间将建立起1个单向 的连接。当这个信号槽连接到这个信号之后,在这个信号上的某个方法被调用时就会调用quit()方法;这就叫做发射信号。在这个例子中 ,当用户用鼠标猛击按钮时,程序会退出。

每个Qt Jambi对象都能拥有信号 signal )(用来发送消息)和信号槽( slot )(用来接收消息)。所有的部 件都是Qt Jambi 对象,因为它们继承咯 QWidget ,而那个东西间接地继承咯 QtJambiObject

这个信号/信号槽机制可能是 Qt Jambi 的最核心的特性咯。 信 号与信号槽文档里对这个主题进行咯细节性的描述。

运行程序

当你运行这个程序时,你会看到一个比第1 章中的窗口更小的窗口 ,里面是一个更小的按钮

参见第1 章,以编译并且运行程序。

练习

试着改变窗口的大小。按那个按钮以关闭程序。

QPushButton 中有没有其它的信号可以连接到quit[提示 QPushButtonQAbstractButton 中继承咯它的大部分功能]

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands