自学内容网 自学内容网

qt继承结构

一、 继承结构

所有的窗口类均继承自QWidget类,因此QWidget类本身包含窗口的特性。QWidget对象本身既可以作为独立窗口,又可以作为组件(子窗口)。

通过构造函数可以创建以上两种形态的QWidget:

// 参数1:使用默认值0时,创建的对象为独立窗口。

// 参数2:窗口标记属性(后面讲)

QWidget::​QWidget(QWidget * parent = 0,

Qt::WindowFlags f = 0)

当创建项目时,基类选择QWidget,此时自带的窗口w对象就是继承自QWidget的独立窗口效果。

QWidget作为独立窗口的基类,内部常用的相关功能如下:

  • windowFlags : Qt::WindowFlags

窗口标记,可以设置一些枚举值,给窗口不同的显示效果,如果要同时设置多个标记,可以使用 | 分隔。

下面是一些常见标记:

二、QMessageBox 消息对话框

QMessageBox直接继承QDialog,是一个用于通信用户或询问用户一个问题并接受答案的模态对话框。

预设了四种类型的弹窗:

这些QDialog的派生类往往适用于一个具体的开发场景,弹窗无需创建对象,直接使用静态成员函数。

// 参数1:父窗口

// 参数2:窗口标题

// 参数3:展示信息

// 返回值:枚举,表示用户点击的按键类型

QMessageBox::StandardButton QMessageBox::​critical|imformation|question|warning(

QWidget * parent,

const QString & title,

const QString & text) [static]

三、QStackedWidget 堆栈窗口

QStackedWidget包含多个QWidget子窗口,同时只能显示一个,子窗口之间可以翻页切换显示。

通常配合QListWidget使用。

QListWidget提供信号函数:

// QListWidget当前选项发生变化时发射

// 参数为当前选项的索引

void currentRowChanged(int currentRow) [signal]

QStackedWidget提供槽函数:

// 设置显示页的索引

void setCurrentIndex(int index) [slot]

四、QMainWindow 主窗口类

1.主窗口类型

QMainWindow是最合适作为主窗口的类型,因为包含若干组成部分:

 

2.QToolBar 工具栏

工具栏上的工具按钮通常都是菜单栏里的QAction对象(设置图标),因此:

  • 通过C++代码设置工具栏按钮 

/ 向工具栏中添加工具按钮

// 参数为设置了图标的QAction对象

void QToolBar::addAction(QAction * action)

3.QWidget 中心组件

就是一个作为子窗口的QWidget对象。

4.QStatusBar 状态栏

状态栏可以自定义,通过文档中对应add函数增加各种自定义组件,课下感兴趣可自行拓展。预设的状态栏可以显示文本信息,相关函数如下:

// 在状态栏显示信息

// 参数1:信息内容

// 参数2:显示的毫秒数,0表示长显示

void QStatusBar::showMessage(const QString & message, int timeout = 0) [slot]

// 清除状态栏显示信息

void QStatusBar::clearMessage() [slot]

 


原文地址:https://blog.csdn.net/weixin_63207763/article/details/143058282

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!