Qt参考手册

所需积分/C币:41 2011-10-10 17:35:59 1.35MB PDF
收藏 收藏 1
举报

Qt参考手册,Qt参考手册,Qt参考手册,Qt参考手册
你现在可以试着编译和运行这个程序了 编译 编译一个应用程序,你需要创建一个 。创建一个的 的最容易的方法是 使用提供的连编工具 如果你已经把main.cpp保存到它自己的目录了,你所要做 的就是这些 qmake -project qmaKe 第一个命令调用 来生成一个.pro(项目)文件。第二个命令根据这个项目文件来生 成一个(系统相关的) 你现在可以输入make(或者 nmake,如果你使用 然后运行你的第一个应用程序! 第二种方法 编辑一个 文件, 添加以下内容: 保存退出 行为 当你运行它的时候,你就会看到一个被单一按钮充满的小窗口,在它上面你可以读到著名 的词 教程一 第二章:调用退出 uit 你凵经在第一章中创建了一个窗口,我们现在使这个应用程序在用户让它退出的时候退出。 我们也会使川一个比默认字体更好的一个字体。 水水 来Q教程一-2 半 #include <gapplication.h> #include pushbutton. h> include < font. h> int main( int argc, char *skargv APplication a( argc, argv QPushButton quit(Quit, 0) quit. resize( 75, 30 quit. setFont( QFont(Times", 18, QFont: Bold)) QObject:: connect( &quit, SIGNAL (clicked o), &a, slot (quito)) a. setMainWidget( &quit quit. showO) return a execo 一行一行地解说 #include (font.h> 因为这个程序使用了 ,所以它需要包含 的字体提取和中提供的可怕的字 体提取大为不同,字体的载入和使用都已经被高度优化 QPushButton quit(Quit",0) 这时,按钮显示,确切的说这就是当用户点击这个按钮时程序所要做的。这不是一个 巧合。因为这个按钮是一个顶层窗口,我们还是把作为它的父对象。 quit. resize( 75, 30); 我们给这个按钮选择了另外一个大小,因为这个文本比 小一些。我们也可以 使用 来设置正确的大小 quit. setFont( QFont("Times", 18, QFont:: Bold )) 这里我们给这个按钮选择了一个新字体,字体中的点加粗字体。注意在这里我们 调用了这个字休。 你也可以改变整个应用程序的默认字体(使用 QObject:: connect( &quit, SIGNAL(clicked o), &a, slot (quito)) 也许是中最重要的特征了。注意 是 中的个静态函数。不要把这 个函数和库中的 搞混了。 这一行在两个对象(直接或间接继承 对象的对象)中建立了一种单向的连接。每 个对象都有 signals(发送消息)和 slots(接收消息)。所有窗口部件都是对象 它们继承 继承 这里的 信号和的槽连接起来了,所以当这个按钮被按下的时候,这个 程序就退出了。 信号和槽文档详细描述了这一主题。 行为 当你运行这个程序的吋候,你会看到这个窗凵比第一章中的那个小一些,并且被一个更小 的按钮充满 (请看编译来学习如何创建一个 和连编应用程序。) 练习 试着改变窗口的大小。按下按钮。注意! 看起来会有一些不同 是不是在 屮还有其它的你可以连接到的信号?提示: 继承了 的绝大多数行为。 现在你可以进行第三章了 教程 第三章:家庭价值 Q 这个例子演示了如何创建一个父窗口部件和子窗口部件。 我们将会保持这个程序的简单性,并且只使用一个单一的父窗口部件和一个独立的子窗口 部件 水半**水半半半半水半半半客水半半半半米水半半半水半半半半半半半*半水半*水半半半半水米半半客水半水半半半米半半半 水水 Q教程一 冰冰冰求水水水水水水水水水冰水冰求水水水水水冰冰水冰冰水冰水冰水水冰水水水冰水水水冰水水冰水水冰水水水水冰水冰米水水冰水 #include <application. h> #include qpushbutton h> #include <font.h> #include vbox. h) int main( int argc, char **argv APplication a( argc, argv QVBox box box. resize( 200, 120 QPushButton quit(Quit, &box quit. setFont( QFont(Times", 18, QFont:: Bold)) QObject:: connect( &quit, SIGNAL (clicked o), &a, slot(quito)) a. setMain Widget( &box b OX Show( return a exec O 行一行地解说 #include vbox. h> 我们添加了一个头文件 用来获得我们要使用的布局类 QVBox box 这里我们简单地创建了一个垂直的盒子容器 把它的子窗口部件排成一个垂直的行, 个在其它的上面,根据每一个子窗口部件的 米安排空间。 box. resize( 200, 120) 我们它的高设置为像素,宽为像素。 QPushButton quit( Quit,&box 子窗凵部件产生了 通过一个文本()和一个父窗口部件()生成的。子窗口部件总是放 在它的父窗口部件的最顶端。当它被显示的时候,它被父窗口部件的边界挡住了一部分。 父窗口部件, ,自动地把这个子窗口部件添加到它的盒子屮央。因为没有其它的东 西被添加了,这个按钮就获得了父窗口部件的所有空间。 DOX OW () 当父窗口部件被显示的时候,它会调用所有子窗口部件的显示函数(除非在这些子窗口部 件中你已经明确地使用 行为 这个按钮不再充满整个窗口部件。相反,亡获得了一个自然的大小。这是因为现在的这 个新的顶层窗口,使用了按钮的大小提示和大小变化策略来设置这个按钮的大小和位置。 (请看 和 来获得关于这几个函数的更详细的信 息。) (请看编译来学习如何创建一个 和连编应川程序。) 练习 试着改变窗口的大小。按钮是如何变化的?按钮的大小变化策略是什么?如果你运行这个 程序的时候使用了一个大一些的字体,按钮的高度发生了什么变化?如果你试图让这个窗 口真成变小,发生了什么? 现在你可以进行第四章了 教程 第四章:使用窗口部件 uit 这个例子显示了如何创建一个你自己的窗口部件,描述如何控制一个窗口部件的最小大小 和最大大小,并且介绍了窗口部件的名称 冰水Qt教程一-4 水水 水水水水水水水水水水水米半水水水水水水水半水水水水半半水水水水水水水冰水水半半水水水水水水水半水水水半水水水水水水水米水冰水水 #include <gapplication. h> #include pushbutton. h> #include <font. h> class myWidget public QWidget publIC My Widget( QWidget *parent=0, const char *name=0 My Widget:: My Widget( QWidget *parent, const char *name QWidget( parent, name setMinimumSize( 200, 120) set MaximumSize( 200, 120 QPushButton *quit new QPushButton( Quit, this,quit) quit->setGeometry( 62, 40, 75, 30 quit->setFont( QFont(Times", 18, QFont:: Bold)) connect( quit, SIGNAL (clicked O), gApp, slot(quiLO)) int main( int argc, char *karev APplication a( argc, argv MyWidget w w. setGeometry(100,100,200,120) a. setMain Widget(&w w. show return a exec () 行一行地解说 class My Widget: public QWidget public My Widget( QWidget *parent=0, const char *name=0 这里我们创建了一个新类。因为这个类继承了 所以新类是一个窗口部件,并且 可以最为一个顶层窗口或者子窗口部件(像第三章里面的按钮) 这个类只有一个成员函数,构造函数(加上从 继承来的成员函数)。这个构造函 数是一个标准的窗口部件构造函数,当你创建窗口部件时,你应该总是包含一个相似的 构造函数。 第一个参数是它的父窗口部件。为了生成一个顶层窗口,你指定一个空指针作为父窗口部 件。就像你看到的那样,这个窗口部件默认地被认做是一个顶层窗口。 第二个参数是这个窗口部件的名称。这个不是显示在窗口标题栏或者按钮上的文本。这只 是分配给後口部件的一个名称,以后可以用来找这个窗口部件,并且这里还有一个方便 的调试功能可以完整地列出窗口部件层次 My Widget:: My Widget( QWidget *parent, const char * name QWidget( parent, name 构造函数的实现从这里开始。像大多数窗口部件一样,它把 parent和name传递给了 的构造函数。 setMinimumSize( 200, 120 setMaximumSize( 200, 120 因为这个窗凵部件不知道如何处理重新定义大小,我们把它的最小大小和最大大小设置为 相等的值,这样我们就确定了它的人小。在下一章,我们将演示窗口部件如何响应用户的 重新定义大小事件。 QPushButton *quit= new QPushButton(Quit, this, quit) quit->setGeometry( 62, 40, 75, 30 quit->setFont( QFont(Times", 18, QFont:: Bold)) 这里我们创建并设置了这个窗口部件的一个名称为的子窗口部件(新窗口部件的父窗 口部件是this)。这个窗凵部件名称和按钮文本没有关系,只是在这情况下碰巧相似。 注意quit是这个构造函数中的局部变量 不能跟踪它,但可以,当 被删除的时候,默认地它乜会被删除。这就是为什么 不需要一个析构函数的原因。 (另外一方面,如果你选择删除一个子窗口部件,也没什么坏处,这个子窗口部件会自动 告诉它即将死亡。) 调用和上一章的 和 是一样的。 connect( quit, SIGNAL (clicked o), qApp, SLOT (quit()) 因为 类不知道这个应用程序对象,它不得不连接到的指针,qApp 个窗口部件就是一个软件组件并且它应该尽量少地知道关于它的环境,因为它应该尽可 能的通用和可重用。 知道了应用程序的名称将会打破上述原则,所以在一个组件,比如 ,需要和应用 程序对象对话的这和情况下,提供了一个别名, int main( int argc, char ***argy QApplication a( argc, argy MyWidget W: W. setGeometry(100,100,200,120) d se LMainWidget( &w w show O return a execO 这里我们举例说明了我们的新子窗口部件,把它设置为主窗口部件,并且执行这个应用程 序 行为 这个程序和上一章的在行为上非常相似。不同点是我们实现的方式。无论如何它的行为还 是有一些小差别。试试改变它的大小,你会看到什么? (请看编译来学习如何创建一个 和连编应用程序。) 练习 试着在中创建另一个 对象。发生了什么?

...展开详情
试读 127P Qt参考手册
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
关注 私信 TA的资源
上传资源赚积分,得勋章
最新推荐
Qt参考手册 41积分/C币 立即下载
1/127
Qt参考手册第1页
Qt参考手册第2页
Qt参考手册第3页
Qt参考手册第4页
Qt参考手册第5页
Qt参考手册第6页
Qt参考手册第7页
Qt参考手册第8页
Qt参考手册第9页
Qt参考手册第10页
Qt参考手册第11页
Qt参考手册第12页
Qt参考手册第13页
Qt参考手册第14页
Qt参考手册第15页
Qt参考手册第16页
Qt参考手册第17页
Qt参考手册第18页
Qt参考手册第19页
Qt参考手册第20页

试读结束, 可继续阅读

41积分/C币 立即下载 >