- 浏览: 3446123 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
sonichy:
Qt5改动很多,要改改了。
基于QItemDelegate的例子1 SpinBoxDelegate -
我的主页6:
楼主,2.2子查询的分页方式:SELECT * FROM ar ...
Mysql 分页语句Limit用法 -
liguoqi:
非常感谢楼主的用心指导,工具以及图片例子都提供了 赞!
两款免费DCIOM 图像浏览软件介绍和DICOM图像例子供下载 -
liguoqi:
问下这个图片怎么解压损坏呀
两款免费DCIOM 图像浏览软件介绍和DICOM图像例子供下载 -
liguoqi:
楼主讲解的非常详细,还附带工具和图片例子,非常感谢
两款免费DCIOM 图像浏览软件介绍和DICOM图像例子供下载
1、常用功能函数
Qt全屏显示函数 window.showFullScreen()
Qt最大化显示函数 window.showMaximized()
Qt最小化显示函数 window.showMinimized()
Qt固定尺寸显示函数 window.resize(x,y)
void MainWindow::on_action_21_triggered() { HelpWnd *hw=new HelpWnd(this); if(!ui->mdiArea->subWindowList().isEmpty()) { ui->mdiArea->closeAllSubWindows(); } QMdiSubWindow *subWindow = ui->mdiArea->addSubWindow(hw,0); subWindow->setWindowTitle(tr("帮助文档")); subWindow->showMaximized(); }
2、如何利用QT creator给QMdiArea添加背景图片
一.属性设置里将QMdiArea组里的background 下的style设置成no brush 就是不用任何画刷填充颜色
二.利用stylesheet设置background-image或者border-image
前者是平铺方式设置背景,后者是拉伸方式设置背景
3、遍历QMdiSubWindowlist里的窗口,当新建窗口时可以保证实例的唯一性,用子窗口的windowtitle作为判断标志。
void MainWindow::on_action_21_triggered() { bool flags=false; if(ui->mdiArea->subWindowList().isEmpty()) { HelpWnd *hw = new HelpWnd(this); QMdiSubWindow *subWindow = ui->mdiArea->addSubWindow(hw,0); subWindow->setWindowTitle(tr("帮助文档")); subWindow->showMaximized(); } else { for(int i=0;i<ui->mdiArea->subWindowList().size();i++) { if(tr("帮助文档")==ui->mdiArea->subWindowList().at(i)->windowTitle()) { ui->mdiArea->subWindowList().at(i)->showMaximized(); flags=true; } } if(flags==false) { HelpWnd *hw = new HelpWnd(this); QMdiSubWindow *subWindow = ui->mdiArea->addSubWindow(hw,0); subWindow->setWindowTitle(tr("帮助文档")); subWindow->showMaximized(); } } }
4、在一个QMainWindow中建立一个QMdiArea的例子
VS中建立一个QMainWindow项目,通过ui会自动生成一段代码ui_xxx.h,我们以后就可以使用多文档界面了。
/******************************************************************************** ** Form generated from reading UI file 'MainWindow.ui' ** ** Created: Thu Feb 16 19:10:50 2012 ** by: Qt User Interface Compiler version 4.7.4 ** ** WARNING! All changes made in this file will be lost when recompiling UI file! ********************************************************************************/ #ifndef UI_MAINWINDOW_H #define UI_MAINWINDOW_H #include <QtCore/QVariant> #include <QtGui/QAction> #include <QtGui/QApplication> #include <QtGui/QButtonGroup> #include <QtGui/QHeaderView> #include <QtGui/QMainWindow> #include <QtGui/QMdiArea> #include <QtGui/QMenuBar> #include <QtGui/QStatusBar> #include <QtGui/QToolBar> #include <QtGui/QWidget> QT_BEGIN_NAMESPACE class Ui_MainWindowClass { public: QWidget *centralWidget; QMdiArea *mdiArea; QMenuBar *menuBar; QToolBar *mainToolBar; QStatusBar *statusBar; void setupUi(QMainWindow *MainWindowClass) { if (MainWindowClass->objectName().isEmpty()) MainWindowClass->setObjectName(QString::fromUtf8("MainWindowClass")); MainWindowClass->resize(761, 593); MainWindowClass->setMinimumSize(QSize(0, 0)); centralWidget = new QWidget(MainWindowClass); centralWidget->setObjectName(QString::fromUtf8("centralWidget")); mdiArea = new QMdiArea(centralWidget); mdiArea->setObjectName(QString::fromUtf8("mdiArea")); mdiArea->setGeometry(QRect(30, 40, 560, 350)); MainWindowClass->setCentralWidget(centralWidget); menuBar = new QMenuBar(MainWindowClass); menuBar->setObjectName(QString::fromUtf8("menuBar")); menuBar->setGeometry(QRect(0, 0, 761, 23)); MainWindowClass->setMenuBar(menuBar); mainToolBar = new QToolBar(MainWindowClass); mainToolBar->setObjectName(QString::fromUtf8("mainToolBar")); MainWindowClass->addToolBar(Qt::TopToolBarArea, mainToolBar); statusBar = new QStatusBar(MainWindowClass); statusBar->setObjectName(QString::fromUtf8("statusBar")); MainWindowClass->setStatusBar(statusBar); retranslateUi(MainWindowClass); QMetaObject::connectSlotsByName(MainWindowClass); } // setupUi void retranslateUi(QMainWindow *MainWindowClass) { MainWindowClass->setWindowTitle(QApplication::translate("MainWindowClass", "PET/CT\346\216\247\345\210\266\345\217\260", 0, QApplication::UnicodeUTF8)); } // retranslateUi }; namespace Ui { class MainWindowClass: public Ui_MainWindowClass {}; } // namespace Ui QT_END_NAMESPACE #endif // UI_MAINWINDOW_H
发表评论
-
Qt官网变更【2012】
2012-09-21 19:30 4215Qt最近被Digia完全收购,诺基亚这两年的不理不睬,没有魄力 ... -
【转】QT实现不规则窗体
2012-09-21 18:50 4991看到好文章,收藏一下: 看到网上有很多不规则窗体的实现 ... -
Qt应用程序如何使用DCMTK类库进行二次开发DICOM数据传输
2012-09-13 09:35 0参考文章: 1、Using DCMTK with ... -
【转】将QT开发的界面程序封装成DLL,在VC中成功调用
2012-09-11 10:33 21121最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后 ... -
诺基亚挥别Qt,转手给Digia
2012-09-11 09:37 2859一家总部位于芬兰的IT业务供应商Digia今天宣布,已经签署了 ... -
Qt多线程间信号槽传递非QObject类型对象的参数
2012-09-07 15:29 21382一、以前就发现过这个问题: 在Qt项目中,有时候为了 ... -
QT样式表(QStyleSheet)
2012-08-17 10:37 17894QT样式表 (QStyleSheet) 作者:刘旭晖 ... -
FinalData磁盘文件恢复工具(绿色破解版)
2012-08-02 13:28 8591FinalData磁盘文件恢复工具(绿色破解版),使用起来很方 ... -
Eclipse Qt开发环境的建立【转】
2012-08-01 11:15 43831.下载Eclipse目前Eclipse+CDT已经可以 ... -
汽车辐射监测系统-Qt开发
2012-07-25 16:18 4693最近晚上抽空忙了两个月,才把一个小系统做完。虽然做的不是太完 ... -
Qt做发布版,解决声音和图片、中文字体乱码问题
2012-07-14 16:02 4866Qt做发布版,解决声音和图片、中文字体乱码问题 ... -
QTableView使用中的疑问,如何及时显示操作Model后的结果?
2012-06-01 14:52 0最终的解决方法:我正 ... -
【转】Qt QTableview使用
2012-06-01 09:49 9676QTableWidget是QT程序中常用的显示数 ... -
QTableView双击 单机事件信号
2012-06-01 09:47 23101双击QTableView的行,获取该行数据 代码 ... -
QMessageBox改变大小
2012-05-31 15:33 8448创建一个QMessageBox: QMessageBo ... -
更新QTableView中的进度条状态
2012-05-30 14:37 14865前段时间,我接触了,如何在一个QTableView中加入一个控 ... -
QThread 线程暂停 停止功能的实现
2012-05-29 11:56 12205为了实现Qt中线程的暂停运行,和停止运行的控制功能 需要在设 ... -
QT环境变量
2012-05-28 18:53 5593不知道为啥同事有台电脑,装完Qt-VS2008库,和VS Ad ... -
广告光
2012-05-24 18:33 0盈创广告联盟 http://www.yo114.cn/ ... -
Test
2012-05-24 18:22 2190Test<IMG SRC="cf08e32c2 ...
相关推荐
Qt例程源代码QMdiArea.7z
软件简介:该多文档文本编辑器利用QMdiArea类实现了多文档的编辑功能,能够在标签模式和窗口模式下自由切换显示子窗口,在功能上不仅实现了文本编辑器最基本的功能,而且还实现了打印文档、输出PDF文档、记录最近...
QMdiArea是Qt库中的一个关键组件,用于创建支持多文档界面(MDI,Multiple Document Interface)的应用程序。在MDI应用中,用户可以在同一窗口内同时打开和操作多个子窗口,这在处理多个文档或工作空间时非常有用。...
在本文中,我们将深入探讨如何在Qt环境中设计一个多对话框框架,主要关注QMdiArea和TabWidget两种技术。Qt是一个跨平台的C++图形用户界面应用程序开发框架,它提供了丰富的功能来创建美观且功能强大的GUI应用。 ...
3. **子窗口的管理**:你可以使用`QMdiArea`提供的方法来管理子窗口,例如,`QMdiArea::activeSubWindow()`返回当前活动的子窗口,`QMdiArea::subWindowList()`返回所有子窗口的列表。 4. **布局与布局管理**:`Mdi...
QMdiArea *mdiArea = new QMdiArea; mainWindow->setCentralWidget(mdiArea); ``` 接下来,我们需要创建自定义的QMdiSubWindow来展示文档。每个QMdiSubWindow通常包含一个特定的视图类,如QTextEdit、QGraphicsView...
Qt5的多文档框架为开发者提供了构建多文档应用程序的强大工具,通过QMdiArea、QMdiSubWindow和QMainWindow等类的组合使用,可以轻松实现复杂的MDI功能。开发者可以根据需求定制子窗口的行为和外观,创建出符合用户...
支持windows和linux平台,支持qt5.12.10以上版本,支持qt6全系列版本,资源只提供了window下Qt5.12.10动态库,MinGW7.3.0编译。 不得用于商业系统,详情 https://blog.csdn.net/dy2017/article/details/129718740
mdiArea里显示多窗体,网上查到的大部分是doc版的,我这还有mainwin 和dialog
创建QMdiSubWindow时,我们需要设置其parent为QMdiArea,然后添加QMdiSubWindow到QMdiArea中。 在"MdiSubWindows"实例中,我们可以预见到以下关键步骤: 1. **初始化**: 创建一个QMdiArea,并将其设置为主窗口的...
传统的应用程序设计中有多文档界面(Multi-documentInterface,MDI)应用程序,...实例samp6_4主窗口的工作区使用一个QMdiArea组件,实例的子窗口类是QFormDoc,是一个使用QPIainTextEdit进行简单文本显示和编辑的窗体。
在编程领域,尤其是在GUI(图形用户界面)应用中,多线程技术是非常关键的一个部分。Qt框架提供了一种高效且方便的方式来实现多线程,尤其是通过其内置的`QThread`类。`QThread`是Qt对C++标准库中的线程API的一种...
Qt样式表实例 在 Qt 中,样式表实例是一个功能强大且灵活的工具,允许开发者自定义 Qt 小部件的外观和行为。本文将详细介绍 Qt 样式表实例,并探讨如何使用样式表来自定义 Qt 小部件。 一、可 stylable 小部件 ...
QMainWindow提供了一个基本的框架,可以包含菜单栏、工具栏和状态栏,而QMdiArea则允许在其中添加子窗口,这些子窗口可以是QMdiSubWindow类型的其他窗口。 在学习和实践Qt Linux C++ MDI应用时,你可能会遇到以下几...
在实际开发中,利用Qt的MDI结构,开发者可以创建一个主窗口,其中包含QMdiArea,然后在QMdiArea内打开和管理多个MDI子窗口。同时结合TabWidget,可以将不同的功能或者数据集划分为各个标签页,提高用户界面的易用性...
QMainWindow是主窗口类,用于容纳菜单栏、工具栏和状态栏,而QMdiArea则用于管理MDI子窗口,使得用户可以在同一窗口内切换和排列多个文档。 这个项目的描述提到,开发者在其博客中展示了编辑器的功能和界面,这可能...
QMainWindow提供了主窗口的基本结构,包括菜单栏、工具栏、状态栏等,而QMdiArea则用于管理子窗口,使得用户可以自由排列、最大化、最小化和关闭子窗口。通过继承QMainWindow并自定义其行为,开发者可以轻松地创建...
QMdiArea是MDI区域,用于容纳多个QMdiSubWindow,每个QMdiSubWindow代表一个独立的文档窗口。通过QMdiArea,用户可以自由排列和切换不同的文档。 5. **单文档示例**:在SDI示例中,可能会使用QMainWindow作为主窗口...
`QWorkspace` 类在Qt5中已经被移除,取而代之的是 `QMdiArea`。迁移时,需要更新代码以使用 `QMdiArea` 类及其相关的API。 5. **QDrag的修改**: 在Qt5中,使用 `QDrag` 进行拖放操作可能需要调整。比如,创建 `...
2. **QMdiArea**:QMdiArea是显示MDI子窗口的容器。它可以管理和布局多个子窗口,允许用户在它们之间切换、排列和缩放。 3. **QMdiSubWindow**:这是子窗口的基类,用于显示单个文档。QMdiSubWindow可以被最大化、...