C++ GUI Qt4编程-Qt入门

7 篇文章 0 订阅

        简介

        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]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值