QT是一个1991年由QT Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt支持下列操作系统:Microsoft Windows 95/98、Microsoft Windows NT、Linux、Solaris、SunOS、HP-UX、Digital UNIX (OSF/1、Tru64)、Irix、FreeBSD、BSD/OS、SCO、AIX、OS390和QNX等。使用Qt开发的优秀软件包括:图形组织应用软件Adobe Photoshop Album;开源的chm开发工具chmcreator;API文件产生器Doxygen;Linux版QQ聊天软件eva;网页浏览器Opera;金山公司(Kingsoft)出品的办公软件WPS Office;咪咕音乐;YY语音等等。
QT包含丰富的控件,比如:Button按钮、Item views项目视图组、Containers容器、Input Widget输入小部件、Display Widgets显示小部件五大类。
其中,Button按钮组包括:Push Button按钮、Tool Button 具按钮、Radio Button单选框、Check Button多选框、Command Button命令行按钮、Button Box(ok/cancel按钮组)。
其中,Item views项目视图组包括:List View列表视图、Tree View树型视图、Table View网格视图、Column View列视图、Ltem Widget、List Widget、Tree Widget、table Widge。
其中,Containers容器组包括:Group Box组框、Scroll Area滚动区域、Tool Box工具组、Tab Widget选项卡、Stacket Widget 上下页小部件、Frame框架、Widget部件。
其中,Input Widget输入小部件包括:Combo Box下拉列表框、Font Combo Box字体选择、Line Edit行编辑器、Text Edit多行编辑器、Plain Text Edit纯文本编辑器、Spin Box自选框、Double Spin Box浮点自选框、Time Edit时间、Date Edit日期、Date/Time Edit时间/日期、Dial转盘、Vertical Scroll Box横向滑条、Horizont Scroll Box竖向滑条、Horizont Slider竖向滑块、Vertical Slider横向滑块。
其中,Display Widgets显示小部件包括:Label标签、Text Browser文档浏览器、Graphics View图片查看器、Calendar日历、LCD Number LCD数字显示屏、Progress Bar进度条、Horizontal Line横向分隔符、Veritical Line竖向分隔符、QWebView网页。
信号和槽机制是Qt的一个主要特征,是Qt与其它工具包最不相同的部分。Qt采用信号和槽实现对象部件之间的通信。当某个事件发生时,如:鼠标按下时,将会产生一个信号,QT中的connect函数将控件、信号和槽函数相关联。在产生信号的时候,直接调用槽函数。
Push Button按钮和Line Edit行编辑器(用于显示单行文本内容,也可以进行编辑)
图一:按钮
图二:按钮相关代码
图三:按钮效果
Label标签
Label用于显示文本和图像,但是没有用户交互可用。
Text Edit多行编辑器
图四:多行编辑器
SpinBox是用于处理整数和离散值集的控件,在代码示例中有一个spinbox控件可以选择数据0~12或者0~31。当前选择的值显示在标签控件中。
上面的Label用于显示文字,下面的Label用于显示图片。
图五:SpinBox和Label
Slider是一个具有简单句柄的小部件。这个手柄可以来回拉动。
图六:slider