Qt应用开发(基础篇)——MDI窗口 QMdiArea QMdiSubWindow

这篇具有很好参考价值的文章主要介绍了Qt应用开发(基础篇)——MDI窗口 QMdiArea QMdiSubWindow。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 一、前言

        QMdiArea类继承于QAbstractScrollArea,QAbstractScrollArea继承于QFrame,是Qt用来显示MDI窗口的部件。

       滚屏区域基类 QAbstractScrollAreahttps://blog.csdn.net/u014491932/article/details/132245486

       框架类 QFramehttps://blog.csdn.net/u014491932/article/details/132188655

Qt应用开发(基础篇)——MDI窗口 QMdiArea QMdiSubWindow,Qt5从入门到精通-应用开发,qt,上位机,c++,PC

         QMdiArea部件提供了一个显示MDI(Multiple Document Interface)多文档窗口。子窗口使用QMdiSubWindow管理,QMdiSubWindow继承于QWidget,所以它除了拥有顶级窗口的属性,还拥有自身的行为,比如按键移动窗口等。

Qt应用开发(基础篇)——MDI窗口 QMdiArea QMdiSubWindow,Qt5从入门到精通-应用开发,qt,上位机,c++,PC

二、QMdiArea类

1、activationOrder

      该属性保存子窗口列表的排序标准。默认情况下,它是窗口创建顺序。使用subWindowList()返回的子窗口列表的排序。

QMdiArea::WindowOrder activationOrder() const
void setActivationOrder(QMdiArea::WindowOrder order)
定义 描述
QMdiArea::CreationOrder 窗口按照创建的顺序返回。
QMdiArea::StackingOrder 窗口按照它们的堆叠顺序返回,最上面的窗口是列表中的最后一个
QMdiArea::ActivationHistoryOrder 窗口按照它们被激活的顺序返回

2、background

        该属性保存工作区的背景刷子,默认情况下,它是灰色,但可以是任何刷子(例如,颜色,渐变或像素图)。

QBrush background() const
void setBackground(const QBrush &background)

3、viewMode

        该属性表示二级界面的显示方式,默认为QMdiArea::SubWindowView。

QMdiArea::ViewMode viewMode() const
void setViewMode(QMdiArea::ViewMode mode)
定义 描述
QMdiArea::SubWindowView 显示带有窗口框架的子窗口
QMdiArea::TabbedView 带有选项卡的窗口

 Qt应用开发(基础篇)——MDI窗口 QMdiArea QMdiSubWindow,Qt5从入门到精通-应用开发,qt,上位机,c++,PCQt应用开发(基础篇)——MDI窗口 QMdiArea QMdiSubWindow,Qt5从入门到精通-应用开发,qt,上位机,c++,PC

        选项卡窗口QTabWidgethttps://blog.csdn.net/u014491932/article/details/132311737

4、documentMode

        该属性用于在选项卡视图模式下选项卡栏是否设置为文档模式,默认禁用。这与macOS上的文档模式相同。启用时,不会呈现选项卡部件框架,即选项卡页面和其后的窗口等页面无框架区分看起来是一个整体。此模式对于页面需要显示文档类型的情况非常有用,因为节省了选项卡部件框架占用的部分空间。

bool documentMode() const
void setDocumentMode(bool enabled)

5、tabPosition

        该属性表示选项卡视图模式中选项卡的位置。

QTabWidget::TabPosition tabPosition() const
void setTabPosition(QTabWidget::TabPosition position)

6、tabShape

        该属性表示选项卡视图模式中选项卡的形状。

QTabWidget::TabShape tabShape() const
void setTabShape(QTabWidget::TabShape shape)

7、tabsClosable

        该属性表示选项卡视图模式中选项卡栏是否应该在每个选项卡上放置关闭按钮。

bool tabsClosable() const
void setTabsClosable(bool closable)

8、tabsMovable

        该属性表示选项卡视图模式中用户是否可以移动选项卡区域内的选项卡,默认选项卡是不可移动的。

bool tabsMovable() const
void setTabsMovable(bool movable)

9、公共方法

1)addSubWindow

        使用addSubWindow添加小部件到MDI区域,如果希望在MDI区域关闭窗口时删除窗口,则必须设置Qt::WA_DeleteOnClose小部件属性,否则隐藏。

QMdiSubWindow *addSubWindow(QWidget *widget, Qt::WindowFlags windowFlags = Qt::WindowFlags())

        示例:

QMdiArea mdiArea;
QMdiSubWindow *subWindow1 = new QMdiSubWindow;
subWindow1->setWidget(internalWidget1);
subWindow1->setAttribute(Qt::WA_DeleteOnClose);
mdiArea.addSubWindow(subWindow1);
2)activeSubWindow

        返回当前活动的子窗口,没有则返回nullptr。

QMdiSubWindow *activeSubWindow() const
3)currentSubWindow

        返回指向当前子窗口的指针,如果没有则返回nullptr。如果包含QMdiArea的QApplication是活动的,这个函数将返回与activeSubWindow()相同的结果。

QMdiSubWindow *currentSubWindow() const
4)removeSubWindow

        移除MdiSubWindows或者内部小部件。

void removeSubWindow(QWidget *widget)
5)setOption/testOption

        设置返回一些MDI行为的使能。

bool testOption(QMdiArea::AreaOption option) const
void setOption(QMdiArea::AreaOption option, bool on = true)
定义 描述
QMdiArea::DontMaximizeSubWindowOnActivation 当活动子窗口最大化时,默认行为是最大化下一个激活的子窗口
6)subWindowList

        返回MDI区域中所有子窗口的列表,activationOrder属性决定返回的顺序。

QList<QMdiSubWindow *> subWindowList(QMdiArea::WindowOrder order = CreationOrder) const

10、信号

1)subWindowActivated

        窗口被激活后时触发。

void subWindowActivated(QMdiSubWindow *window)

三、QMdiSubWindow类

1、keyboardPageStep

        设置使用键盘页面键时小部件应该移动距离。默认的键盘页步长值是20像素。        

int keyboardPageStep() const
void setKeyboardPageStep(int step)

2、keyboardSingleStep

        设置使用键盘箭头键时小部件应该移动距离。默认的键盘单步值是5像素。

int keyboardSingleStep() const
void setKeyboardSingleStep(int step)

3、公共方法

1)isShaded

       获取窗口是否为阴影,如果窗口被折叠,只有标题栏可见,则显示为阴影。

bool isShaded() const
2)showShaded

       调用此函数使子窗口进入阴影模式。

void showShaded()
3)mdiArea

        返回持有mdiSbuWindow的mdiArea指针。

QMdiArea *mdiArea() const
4)setOption

        设置子窗口行为的使能。        

void setOption(QMdiSubWindow::SubWindowOption option, bool on = true)
5)testOption

        返回子窗口行为的使能。   

bool testOption(QMdiSubWindow::SubWindowOption option) const
定义
QMdiSubWindow::RubberBandResize 启用后,用户可调整子窗口大小,QResizeEvent事件触发,默认该选项是禁用的。
QMdiSubWindow::RubberBandMove 启用后,用户可移动子窗口位置,QMoveEvent事件触发,默认该选项是禁用的。
6)systemMenu

        获取子窗口的当前系统菜单。

QMenu *systemMenu() const
7)setSystemMenu

        设置子窗口的当前系统菜单。

void setSystemMenu(QMenu *systemMenu)
8)showSystemMenu

        显示子窗口的当前系统菜单。

void showSystemMenu()
9)setWidget

       获取子窗口的内部小部件。

QWidget *widget() const
10)setWidget

       设置子窗口的内部小部件。内部小部件显示在标题栏下方的子窗口中央。

void setWidget(QWidget *widget)

4、信号

1)aboutToActivate

        子窗口被激活发出此信号,QMdiArea也将发出subWindowActivated()信号。

void aboutToActivate()
2)windowStateChanged

        QMdiSubWindow在窗口状态改变后发出这个信号。文章来源地址https://www.toymoban.com/news/detail-652836.html

void windowStateChanged(Qt::WindowStates oldState, Qt::WindowStates newState)

到了这里,关于Qt应用开发(基础篇)——MDI窗口 QMdiArea QMdiSubWindow的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt应用开发(基础篇)——QComboBox

             QComboBox下拉框继承于QWidget,作为Qt Wdiget常用的控件,在实际开发中,经常用来作为某些特定参数属性的选择,比如 语言 、 国家 、 字体 、 主题 、 模式 、 串口号 、 波特率 等选择性已知需要下拉的场景。而QFontComboBox字体下拉框继承于QComboBox,是一个封装专门

    2024年02月15日
    浏览(51)
  • Qt应用开发(基础篇)——进度条 QProgressBar

             QProgressBar 类继承于QWidget,是一个提供了横向或者纵向进度条的小部件。           QProgressBar 进度条一般用来显示用户某操作的进度,比如 烧录、导入、导出、下发、上传、加载 等这些需要耗时和分包的概念,让用户知道程序还在正常的执行中。       

    2024年02月10日
    浏览(43)
  • Qt应用开发(基础篇)——工具按钮类 QToolButton

            QToolButton 类继承于 QAbstractButton ,该部件为命令或选项提供了一个快速访问按钮,通常用于 QToolBar 中。         按钮基类 QAbstractButton          QToolButton 是一个特殊的按钮,一般显示文本,只显示图标,结合toolBar使用。它提供对特定命令或选项的快速访问,

    2024年02月09日
    浏览(55)
  • Qt应用开发(基础篇)——字体选择器 QFontDialog

             QFontDialog 类继承于QDialog,是一个设计用来选择字体的对话框部件。         对话框窗口QDialog           QFontDialog 字体选择对话框,设计用来让用户选择某一种字体,一般用于文本编辑窗口、标签显示和一些需要文本输入的场景。你可以直接使用静态函数

    2024年02月10日
    浏览(47)
  • Qt应用开发(基础篇)——颜色选择器 QColorDialog

             QColorDialog 类继承于QDialog,是一个设计用来选择颜色的对话框部件。         对话框窗口 QDialog          QColorDialog 颜色选择器一般用来让用户选择颜色,比如画图工具中选择画笔的颜色、刷子的颜色等。你可以使用静态函数 QColorDialog::getColor() 直接显示对

    2024年02月10日
    浏览(35)
  • Qt应用开发(基础篇)——工具箱 QToolBox

            QToolBox类继承于QFrame,QFrame继承于QWidget,是Qt常用的基础工具部件。         框架类QFrame介绍         QToolBox工具箱类提供了一列选项卡窗口,当前项显示在当前选项卡下面,适用于 分类浏览 、 内容展示 、 操作指引 这一类的使用场景。 1、count        

    2024年02月13日
    浏览(99)
  • 06-3_Qt 5.9 C++开发指南_多窗体应用程序的设计(主要的窗体类及其用途;窗体类重要特性设置;多窗口应用程序设计)

    常用的窗体基类是QWidget、QDialog 和QMainWindow,在创建 GUI应用程序时选择窗体基类就是从这 3 个类中选择。QWidget 直接继承于 QObject,是 QDialog 和 QMainWindow 的父类,其他继承于 QWidget 的窗体类还有 QSplashScreen、QMdiSubWindow和QDesktopWidget。另外还有一个类QWindow,它同时从 QObject 和Q

    2024年02月13日
    浏览(86)
  • Qt应用开发(基础篇)——输入对话框 QInputDialog

             QInputDialog 类继承于 QDialog ,是一个简单方便的对话框,用于从用户获取单个值。         对话框窗口 QDialog           QInputDialog输入对话框 带有一个文本标签、一个输入框和标准按钮。输入内容可以字符、数字和选项,文本标签用来告诉用户应该要输入什

    2024年02月10日
    浏览(47)
  • Qt应用开发(基础篇)——LCD数值类 QLCDNumber

            QLCDNumber类继承于QFrame,QFrame继承于QWidget,是Qt的一个基础小部件。         框架类QFrame介绍         QLCDNumber用来显示一个带有类似lcd数字的数字,适用于 信号灯 、 跑步机 、 体温计 、 时钟 、 电表 、 水表 、 血压计 等仪器类产品的数值显示。      

    2024年02月13日
    浏览(37)
  • Qt应用开发(基础篇)——文件选择对话框 QFileDialog

             QFileDialog 类继承于 QDialog ,提供了一个允许用户选择文件或目录的对话框。         对话框窗口 QDialog          QFileDialog 文件选择对话框允许用户在当前文件系统中选择一个或者多个文件或者文件路径,使用静态函数创建是很简便的方式,比如:      

    2024年02月09日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包