资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
一步一步做QT设计安徽中兴继远信息技术有限公司生效日期: 年 月 日编制: 陈桂友审核:批准:目录第一章界面设计器3第1节界面设计效果3第2节界面设计3第3节添加槽与连接7第4节建立工程8第二章QMAINWINDOW11第三章QDOCKWINDOW11第四章菜单栏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竖直排列。当用户在左边点击一个表名之后,右边就显示相应的表的内容。如用户点击厂站表“Factory Name”后在右边就显示各厂站的id号,名称。第2节 界面设计在windows上安装完QT3.2.1非商业版后,点击“开始”-“程序”-“Qt3.2.1 non-commercial”-“Qt Designer”打开如图所示的设计器图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”的部分属性。属性名称属性内容说明nametabTable控件名称sizePolicyExpanding/Fixed/0/0控件大小策略:水平方向自动拉伸/垂直方向大小固定/水平方向空白大小为0/垂直方向空白大小为0minimumsize0,0控件的最小长度和宽度都为0按下表修改ListView的部分属性属性名称属性内容说明nameDataList控件名称设置完后,点击窗口的空白处,选中主窗口。然后点击设计器菜单栏中的“Layout”-“Layout Vertically”为主界面加入垂直布局器。这时候控件的大小会随着主界面大小的改变而改变。第3节 添加槽与连接点击设计器的菜单栏中的“edit”-“Slots”打开如“图1.3.1”所示的对话框图1.3.1函数编辑窗口点击“New Function”可以添加一个新的函数。按下表添加函数:FunctionReturn typeSpecifierAccessTypeDataListRightClick( QListViewItem * pItem, const QPoint & Pt )voidvirtualpublicslotDataListSelChange( QListViewItem * pItem )voidvirtualpublicslotTabTableSelChange( QWidget * pWid )voidvirtualpublicslotShowTableNameList()voidvirtualpublicslot表中的Function 是函数名称和参数列表,Return是函数返回类型。Specifier是函数的描述符。Access是函数的访问类型。Type是函数的类型,slot表示槽函数,function表示普通道函数。槽函数可以接收信号来执行。其它方面和普通函数完全一样。DataListRightClick( QListViewItem * pItem, const QPoint & Pt ):鼠标右击DataList控件时调用的函数。pItem是右击的行,Pt 鼠标右击的位置DataListSelChange( QListViewItem * pItem ):当DataList控件被选中的行改变时调用此函数pItem 当前补选中的行TabTableSelChange( QWidget * pWid ):tabTable控件选中项改变时调用此函数pWid当项被选中的项。为了使槽函数能真正接收信号而工作。必须把槽和信号进行连接。点击菜单栏中的“edit”-“connections”打开如(图1.3.2)的对话框图1.3.2设置连接对话框按下表建立新的连接SenderSignalReceiverslottabTablecurrentChangerMainFrmTabTableSelChangeDataListselectionChangedMainFrmDataListSelChangeDataListrightButtonClickedMainFrmDataListRightClick设置好连接后,一个程序界面就做完。点击保存按钮,把设计好的界面保存到D:RdbViewManFrm.ui中。第4节 建立工程在文件夹D:RdbView中新建两个文件:MainWork.h和MainWork.cpp其中MainWork.h的内容为/MainWork.h/#ifndef MAINWORK_H#define MAINWORK_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.hextern MainFrm *g_pMainFrm;extern CTabNameList *g_TabNameList;extern CTabMgr *g_pTabMgr;int main(int argc, char *argv);#endifMainWork.cpp的内容为:MainWork.cpp完成主函数的定义。第10行定义了一个QApplication对像用来管理应用程序范围的资源。Qapplication。第11行申请了一个MainFrm对象。MainFrm就是刚才用QT设计器设计的程序的主界面。它的内容在下一章再作祥细介绍。第12行设置MainFrm为主窗口。第14行显示主窗口。窗口是被隐藏创建的,在显示之前可以自定义窗口,而避免窗口闪烁。第15行把应用程序的控制传递给QT。这时,程序进入一种等待模式,等待用户的动作。如鼠标点击,按键被按下等等。现在我们就可以测试这个程序了。点击“开始”“运行”输入“cmd”打开命令行窗口。转到D:RdbView目录下,请输入(蓝色字体部分):D:RdbViewQmake project这时在D:RdbView目录下新产生一个RdbView.pro文件。我们要在VC中使用QT所以在命令行窗口中再输入:D:RdbViewQmake tp vc RdbView.pro这时在D:RdbView中产生一个新的文件“RdbView.vcproj“,用VC2003打开这个文件进行编译。编译后运行可执行文件如(图1.4.1)所示图1.4.1程序运行界面第二章 QmainWindow打开D:会发现有编译过程中新产生了MainFrm.h,MainFrm.cpp和MainFrm.ui.h三个文件。这三个文件根据设计器所设计的界面自动产生。特别要注意的是MainFrm.h,MainFrm.cpp这个文件会随着设计器对界面的修改,而重新生成。“qmake“ 命令产生工程文件也会导致MainFrm.h,MainFrm.cpp这两个文件重写。因此应尽量避免手工修改这两个文件。应该用设计器来添加函数和连接。设计器所设计的槽和一般函数定义在MainFrm.ui.h文件中。此文件可以写工修改,而事实上我们也正是这么做的。第三章 QdockWindow在我们最初的设计中,主窗口的左边有一个QdockWindow但是我们使用设计器的时候并没有设计这个窗口。我们将手工实现这个功能。先给工程添加一个头文件TabNameList.h其内容如下第8行到第12定义了一个结构用来保存表名称和表ID号的对应关系。第13行和第14行以QlistView为基类定义了一个新类CTabNameList。第16行为了使用信号和槽,在类定义的开始处必需有Q_OBJECT宏。包含Q_OBJECT宏后,由qmake生成的makefile将会包含特定的规则来运行QT的
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号