分类: C/C++
2007-01-02 14:32:01
#include <>
#include <>
#include <>
int main( int argc, char **argv )
{
a( argc, argv );
quit( "Quit", 0 );
quit.( 75, 30 );
quit.( QFont( "Times", 18, QFont::Bold ) );
QObject::( &quit, SIGNAL(()), &a, SLOT(()) );
quit.();
return a.();
}
#include <>
因为这个程序使用了,所以它需要包含qfont.h。Qt的字体提取和X中提供的可怕的字体提取大为不同,字体的载入和使用都已经被高度优化了。
quit( "Quit", 0 );
这时,按钮显示“Quit”,确切的说这就是当用户点击这个按钮时程序所要做的。这不是一个巧合。因为这个按钮是一个顶层窗口,我们还是把0作为它的父对象。
quit.( 75, 30 );
我们给这个按钮选择了另外一个大小,因为这个文本比“Hello world!”小一些。我们也可以使用来设置正确的大小。
quit.( QFont( "Times", 18, QFont::Bold ) );
这里我们给这个按钮选择了一个新字体,Times字体中的18点加粗字体。注意在这里我们调用了这个字体。
你也可以改变整个应用程序的默认字体(使用())。
QObject::( &quit, SIGNAL(()), &a, SLOT(()) );
connect也许是Qt中最重要的特征了。注意connect()是中的一个静态函数。不要把这个函数和socket库中的connect()搞混了。
这一行在两个Qt对象(直接或间接继承QObject对象的对象)中建立了一种单向的连接。每一个Qt对象都有signals(发送消息)和slots(接收消息)。所有窗口部件都是Qt对象。它们继承,而QWidget继承QObject。
这里quit的clicked()信号和a的quit()槽连接起来了,所以当这个按钮被按下的时候,这个程序就退出了。
另外由于QPushButton基本上继承了QButton,触发quit的时间可以是clicked(),pressed(),released()等等。