Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5758179
  • 博文数量: 675
  • 博客积分: 20301
  • 博客等级: 上将
  • 技术积分: 7671
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-31 16:15
文章分类

全部博文(675)

文章存档

2012年(1)

2011年(20)

2010年(14)

2009年(63)

2008年(118)

2007年(141)

2006年(318)

分类: 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。

这里quitclicked()信号和aquit()槽连接起来了,所以当这个按钮被按下的时候,这个程序就退出了。



另外由于QPushButton基本上继承了QButton,触发quit的时间可以是clicked(),pressed(),released()等等。


阅读(3211) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-04-28 17:03:59

good

chinaunix网友2008-04-28 17:03:59

good