在WIN下用QT设计器做QT设计

  • 格式:pdf
  • 大小:511.25 KB
  • 文档页数:17

一步一步做QT设计目录第一章界面设计器............................................................................................................................3第1节界面设计效果........................................................................................................................3第2节界面设计................................................................................................................................3第3节添加槽与连接........................................................................................................................7第4节建立工程................................................................................................................................8第二章QMAINWINDOWQMAINWINDOW...............................................................................................................11第三章QDOCKWINDOWQDOCKWINDOW..............................................................................................................11第四章菜单栏..................................................................................................................................15第五章QT在UNIX中的安装和使用...........................................................................................16第1节QT在UNIX中的安装...................................................................................................16第2节QT在UNIX中的使用...................................................................................................17

网络QT教程:http://www.qtopia.org.cn/doc/qiliang.net/qt/第一章界面设计器第1节界面设计效果在这一张我们介绍用QT的设计器来设计一个程序界面,其效果图如(图1.1)所示图1.1.1程序界面设计效果程序最上面是标准的“标题栏”和“菜单栏”。在左边是一个DockWindow里面有一个QlistView控件,用来存放表名称。在右边是一个QtabWidget控件和和一个QlistView竖直排列。当用户在左边点击一个表名之后,右边就显示相应的表的内容。如用户点击厂站表“FactoryName”后在右边就显示各厂站的id号,名称。

第2节界面设计在windows上安装完QT3.2.1非商业版后,点击“开始”-“程序”-“Qt3.2.1non-commercial”-“QtDesigner”打开如图所示的设计器图1.2.1QT设计器界面在这里我们选择MainWindow点击“OK”按钮。打开如(图1.2.2)所示。

图1.2.2标准菜单选择器我们采用默认设置。点击“Next”进入下一步。打开如(图1.2.3)所示的界面。图1.2.3标准工具栏设置采用默认设置。点击“Next”进入下一步。打开如(图1.2.4)所示的界面

图1.2.3标准工具栏设置图1.2.4向导完成界面点击“Finish”关闭向导,这时向导已经完成了一个如(图1.2.5)所示的界面

图1.2.5向导完成的界面点击窗口的空白处然后在属性(properties)窗口中把“name”的内容由“Form1”改为“MainFrm”。把“Caption”的内容由“Form1”改为“RdbView”。下面加入QtabWidget和QlistView控件。在设计器的左边是一个outLook风格的窗口,里面分栏列出了各个控件。点击“Containers”栏。在展开的“Containers”栏中选择“TabWidget”再用鼠标左键在已经建好的窗口中点击一下。这样界面上就出现了一个“QTabWidget”控件。用同样的方法加入一个“Views”栏中的“ListView”控件。按下表修改“QTabWidget”的部分属性。按下表修改ListView的部分属性设置完后,点击窗口的空白处,选中主窗口。然后点击设计器菜单栏中的“Layout”-“LayoutVertically”为主界面加入垂直布局器。这时候控件的大小会随着主界面大小的改变而改变。

第3节添加槽与连接点击设计器的菜单栏中的“edit”-“Slots”打开如“图1.3.1”所示的对话框

图1.3.1函数编辑窗口点击“NewFunction”可以添加一个新的函数。按下表添加函数:

表中的Function是函数名称和参数列表,Return是函数返回类型。Specifier是函数的描述符。Access是函数的访问类型。Type是函数的类型,slot表示槽函数,function表示普通道函数。槽函数可以接收信号来执行。其它方面和普通函数完全一样。

属性名称属性内容说明nametabTable控件名称sizePolicyExpanding/Fixed/0/0控件大小策略:水平方向自动拉伸/垂直方向大小固定/水平方向空白大小为0/垂直方向空白大小为0minimumsize[0,0]控件的最小长度和宽度都为0

属性名称属性内容说明nameDataList控件名称

FunctionReturntypeSpecifierAccessTypeDataListRightClick(QListViewItem*pItem,constQPoint&Pt)voidvirtualpublicslotDataListSelChange(QListViewItem*pItem)voidvirtualpublicslotTabTableSelChange(QWidget*pWid)voidvirtualpublicslotShowTableNameList()voidvirtualpublicslotDataListRightClick(QListViewItem*pItem,constQPoint&Pt):鼠标右击DataList控件时调用的函数。pItem是右击的行,Pt鼠标右击的位置

DataListSelChange(QListViewItem*pItem):当DataList控件被选中的行改变时调用此函数pItem当前补选中的行

TabTableSelChange(QWidget*pWid):tabTable控件选中项改变时调用此函数pWid当项被选中的项。

为了使槽函数能真正接收信号而工作。必须把槽和信号进行连接。点击菜单栏中的“edit”-“connections”打开如(图1.3.2)的对话框

图1.3.2设置连接对话框按下表建立新的连接

设置好连接后,一个程序界面就做完。点击保存按钮,把设计好的界面保存到D:\RdbView\ManFrm.ui中。

第4节建立工程在文件夹D:\RdbView\中新建两个文件:MainWork.h和MainWork.cpp其中MainWork.h的内容为

SenderSignalReceiverslottabTablecurrentChangerMainFrmTabTableSelChangeDataListselectionChangedMainFrmDataListSelChangeDataListrightButtonClickedMainFrmDataListRightClick//////////////////////////////////////////////MainWork.h/////////////////////////////////////////////#ifndefMAINWORK_H#defineMAINWORK_H

#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include

#include"MainFrm.h"#include"TabNameList.h"#include"TabMgr.h"externMainFrm*g_pMainFrm;externCTabNameList*g_TabNameList;externCTabMgr*g_pTabMgr;intmain(intargc,char*argv[]);

#endifMainWork.cpp的内容为: