简介
Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立图形用户界面所需的所有功能。Qt很容易扩展,并且允许真正地组建编程,基本上Qt同XWindow上的Motif,GTK等图形界面库和windows平台上的MFC,OWL,VCL,ATL是同类型的东西。
本节简单的介绍基本的C++知识与Qt所提供的功能组合起来创建一些简单的图形用户界面(Graphical User Interface,GUI)应用程序。
1. 应用程序的窗口通常就是一个包含了一个QMenuBar,一些QToolBar,一个QStatusBar以及一些其它窗口部件的窗口部件。绝大多数应用程序都会使用一个QMainWindow或者一个QDialog来作为它的窗口,但Qt是如此的灵活,以至于任意的窗口部件都可以用作窗口。
2.在创建窗口部件的时候,标签通常都是隐藏的,这就允许我们可以先对其进行设置然后再显示它们,从而避免窗口部件的闪烁现象。
命令行编译方法:
(1)在命令提示符下进入工程目录/文件目录,输入qmake -project命令,生成一个与平台无关的项目文件 工程文件/文件名称.pro。
(2)输入qmake 工程名称/文件名称.pro。
(3)键入make命令就可以构建该程序。
(4)如果使用的是Microsoft Visual C++和商业版的Qt,则需要用nmake命令代替make命令。
Microsoft Visual Studio编译方法:
通过工程名称/文件名称.pro文件创建一个Visual Studio的工程文件,此时需要输入命令:qmake - tp vc 工程名称/文件名称.pro。
Mac OS X系统编译方法:
通过工程名称/文件名称.pro文件创建一个Xcode工程文件,此时需要输入的命令:qmake - spec macx-xnode 工程名称/文件名称.pro。
在创建控件时通过使用一些简单的HTML样式格式,就可以轻松地把Qt应用程序的用户接口变得更为丰富多彩,
QLabel *label = new QLabel("Hello Qt!"); 替换为
QLabel *label = new QLabel("<h2><i>Hello</i>""<font color=red>Qt!</font></h2>");
信号与槽的对应关系(类似MFC中的消息)
(1)一个信号可以连接多个槽,信号发射的时候槽的调用顺序是不确定的。
(2)多个信号可以连接同一个槽,无论发射那个信号都会调用这个槽。
(3)信号可以与另外一个信号相连接,发射第一个信号时,也会发射第二个信号。
(4)连接可以被移除,用的情况较少,因为删除对象时自动移除相关的连接。
(5)信号与槽/信号成功连接,他们的参数必须具有相同的顺序和相同的类型。
(6)信号的参数比它所连接的槽的参数多,那么多余的参数将会被简单的忽略掉。
(7)如果参数类型不匹配,或者信号或槽不存在,则当应用程序使用调试模式构建后,Qt会在运行时发出警告。
(8)如果在信号和槽的名字中包含了参数名,Qt也会发出警告。
Qt的布局管理器类
(1)QHBoxLayout,在水平方向上排列窗口部件,从左到右(在某些文化中则是从右向左)。
(2)QVBoxLayout,在竖直方向上排列窗口部件,从上到下。
(3)QGridLayout,把各个窗口部件排列在一个网格中。
根据内容自动调整某列的列宽
void QTableView::resizeColumnToContents ( int column ) [slot]
根据内容自动调整所有列的列宽
void QTableView::resizeColumnsToContents () [slot]
根据内容自动调整某一行的行高
void QTableView::resizeRowToContents ( int row ) [slot]
根据内容自动调整所有行的行高。
void QTableView::resizeRowsToContents () [slot]