标题:【摘录】《KDE2/Qt编程金典》第三章:在窗口中布置部件——3.1 几何部件布局
作者:XChinux
日期:2005-08-30 15:25
内容:
可以通过指定4个值来指定每个部件的确定位置和大小,它们分别是:水平坐标值、垂直坐标值、宽度和高度。以父窗口为坐标系统——即包含此部件的窗口。下面的例子举例说明了如何在一个应用程序窗口中放置三个按钮。
1 /* main.cpp */
2 #include
3 #include "setxy.h"
4
5 int main(int argc, char **argv)
6 {
7 KApplication app(argc, argv, "setxy");
8 SetXY setxy;
9 setxy.show();
10 app.setMainWidget(&setxy);
11 return(app.exec());
12 }
主程序相当简单,第3行包含了头文件,在第8行创建了按钮,并且在第10行调用了setMainWidget(),将其指定为主应用程序窗口要显示的部件。
1 /* setxy.h */
2 #ifndef SETXY_H
3 #define SETXY_H
4
5 #include
6
7 class SetXY: public QWidget
8 {
9 public:
10 SetXY(QWidget *parent = 0, const char *name = 0);
11 ~SetXY();
12 private:
13 QPushButton *button1;
14 QPushButton *button2;
15 QPushButton *button3;
16 };
17
18 #endif
SetXY类在定义中使用QWidget作为它的基类。它仅有的数据是在第13行到第15行所创建的3个QPushButton按钮指针。通常,应当定义作为slot的方法,以响应这些按钮,但在此只是为了简单的位置演示,由此没有方法响应这些按钮。
注意:由于在setxy.h的第5行包含了qpushbutton.h头文件,所以此头文件自动被setxy.cpp和main.cpp所包含了。如果使用其它的部件,而它也包含了qpushbutton.h头文件,那么同一个头文件就被包含了两次。这就是为什么说第2行、第3行和第18行的预编译指令非常重要的原因了,这些预编 ..
#1 [mathbox 10-14 10:25]
哦,明白了,呵呵,顶下天呐,感谢斑竹