首页
学习
活动
专区
圈层
工具
发布

【从零开始的Qt开发指南】(十四)Qt 窗口之“三剑客”:工具栏、状态栏、浮动窗口进阶实战指南

2.1 工具栏核心特性与创建方式 2.1.1 核心特性 支持多实例:一个主窗口可以创建多个工具栏。 灵活的停靠位置:可停靠在窗口上、下、左、右四个方向,也可设置为仅允许特定方向停靠。...2.1.2 两种创建方式 创建工具栏的核心是通过 QMainWindow 的 addToolBar () 函数将工具栏添加到主窗口,支持两种常见创建方式: 方式一:直接创建并添加(推荐)...:创建时指定默认位置 如 2.1.2 中的方式二所示,通过 addToolBar () 的重载函数,在添加工具栏时直接指定初始停靠位置: // 创建工具栏并指定默认停靠在底部 QToolBar...3.1.2 创建方式(唯一方式) 状态栏的创建通过 QMainWindow 的 statusBar () 函数实现,该函数会自动创建状态栏(若尚未创建)并返回其指针,无需手动 new 实例...4.1 浮动窗口核心特性与创建方式 4.1.1 核心特性 多实例支持:一个主窗口可以创建多个浮动窗口。 灵活停靠:可停靠在中央部件的上、下、左、右四个方向,支持组合停靠。

41920

QDockWidget嵌套布局详解-实现Visual Studio布局

ps:这是自己没事写的一个数据可视化软件  下面说说如何实现完全自由的界面布局效果: QDockWidget在QMainWindow的布局函数 要在QMainWindow里对dock进行布局,需要用到如下几个函数...: 添加dock函数  此函数用于给dock指定位置,同时也可以更改dock的位置,此函数命名为addDockWidget有点容易误导,因为不仅仅有add的功能,还有chang的功能 void QMainWindow...second, Qt::Orientation orientation) 1 1 tab化窗口函数  此函数的功能是把多个dock变成一个tab形式的窗体 void QMainWindow::tabifyDockWidget...dock属性随便设置,保证都任意区域可以停靠即可  由于这里不需要MainWindow的中间窗口,整个视图都由dock组成,因此先把QMainWindow的中间窗口部件去除:  在MainWindow的构造函数加入如下语句...拖动dock可以发现,只能在两边进行组合,我想把dock放置到中间是无法实现的,这是由于为了简化dock的吸附,QMainWindow默认是把dock嵌套关闭的,需要我们手动设置,在MainWindow

4.6K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python Qt GUI设计:QTabWidget、QStackedWidget和QDockWidget容器控件类(提升篇—2)「建议收藏」

    通过示例,了解QStackedWidget容器控件类的使用方法,效果如下所示: 示例中,在QStackedWidget对象中填充了三个子控件。每个子控件都可以有自己的布局,包含特定的表单元素。...容器控件类 QDockWidget是一个可以停靠在QMainWindow内的窗口控件,它可以保持在浮动状态或者在指定位置作为子窗口附加到主窗口中。...QMainWindow类的主窗口对象保留有一个用于停靠窗口的区域,这个区域在控件的中央周围,如下图所示: QDockWidget控件在主窗口内可以移动到新的区域。...QDockWidget类中的常用方法如下表所示: 通过示例,了解QDockWidget容器控件类的使用方法,效果如下所示: 示例中,顶层窗口是一个QMainWindow对象,QTextEdit对象是它的中央小控件...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    4.1K10

    Python Qt GUI设计:QTabWidget、QStackedWidget和QDockWidget容器控件类(提升篇—2)

    QFormLayout() layout.addRow("姓名",QLineEdit()) layout.addRow("地址",QLineEdit()) self.setTabText(0,"联系方式...通过示例,了解QStackedWidget容器控件类的使用方法,效果如下所示: 示例中,在QStackedWidget对象中填充了三个子控件。每个子控件都可以有自己的布局,包含特定的表单元素。...容器控件类 QDockWidget是一个可以停靠在QMainWindow内的窗口控件,它可以保持在浮动状态或者在指定位置作为子窗口附加到主窗口中。...QMainWindow类的主窗口对象保留有一个用于停靠窗口的区域,这个区域在控件的中央周围,如下图所示: QDockWidget控件在主窗口内可以移动到新的区域。...QDockWidget类中的常用方法如下表所示: 通过示例,了解QDockWidget容器控件类的使用方法,效果如下所示: 示例中,顶层窗口是一个QMainWindow对象,QTextEdit对象是它的中央小控件

    3.2K20

    【QT】:QMainWindow 窗口

    该类继承自 QWidget,并提供了一个预定义的布局 QMainWindow 包含一个菜单栏(Menu Bar)、多个工具栏(Tool Bars)、多个浮动窗口(铆接部件 子窗口)(Dock Widgets...1.1 具体使用 一、创建菜单栏 (1)方式一 菜单栏的创建可以借助于 QMainWindow 类提供的 menuBar() 函数来实现。...可以有多个,也可以没有,它并不是应用程序中必须存在的组件。 它是一个可移动的组件,它的元素可以是各种窗口组件,它的元素通常以图标按钮的方式存在。...在状态栏中可以显示的消息类型有: 实时消息:如当前程序状态 永久消息:如程序版本号,机构名称 进度消息:如进度条提示,百分百提示 一、状态栏的创建 状态栏的创建是通过 QMainWindow 类提供的...浮动窗口是通过 *QDockWidget* 类来实现浮动的功能。浮动窗口一般是位于核心部件的周围,可以有多个。

    2.3K10

    【QT】Qt 窗口 (QMainWindow)

    综合示例 在窗⼝上创建⼀个菜单栏,在菜单栏中添加⼀些菜单,在某⼀个菜单中添加⼀些菜单项。 (1)在 “mainwindow.cpp” ⽂件中创建菜单和中央控件 创建⼀个菜单栏, ⼀个菜单....在 Qt 中,状态栏是通过 QStatusBar类 来实现的。 在状态栏中可以显⽰的消息类型有: 实时消息:如当前程序状态 永久消息:如程序版本号,机构名称 进度消息:如进度条提⽰,百分百提⽰ 1....浮动窗⼝是通过 QDockWidget类 来实现浮动的功能。浮动窗口⼀般是位于核心部件的周围,可以有多个。 1....⾮模态对话框⼀般在堆上创建,这是因为如果创建在栈上时,弹出的⾮模态对话框就会⼀闪⽽过。...同时还需要设置 Qt:WA_DeleteOnClose 属性,⽬的是:当创建多个⾮模态对话框时(如打开了多个非模态窗⼝),为了避免内存泄漏要设置此属性。

    2.1K10

    【QT】Qt窗口组成和初识对话框

    QMainWindow包含一个菜单栏Menu Bar②,多个工具栏Tool Bars③,多个浮动窗口Dock Widgets,一个状态栏Status Bar⑤和一个中心部件Central Widget④...file.close(); } void MainWindow::load() { //创建文件对话框 QFileDialog* d = new QFileDialog(this); //获取到指定位置的文件名...(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); //创建浮动窗口并将其设置在当前窗口中 QDockWidget*...dialog->show(); //show不阻塞程序,所以我们要将dialog建在堆上 }); } dialog_2 (3)混合属性对话框 混合属性对话框在生成和销毁上具有非模态对话框属性...,在功能上具有模态对话框属性 使用QDialog::setModal(bool)函数来创建 MainWindow::MainWindow(QWidget *parent) : QMainWindow

    47910

    PyQT模块、类、控件介绍

    QtPositioning模块 用于获取位置信息,此模块允许使用多种方式实现定位,包括但不限于:卫星、无线网、文字信息。此模块一般用在网络地图定位系统中。...QMainWindow类 提供一个有菜单栏、锚接窗口(如工具栏)和状态栏的主应用程序窗口。 QWidget类 所有用户界面对象的基类。...的底部 QToolBar控件 提供了一个工具栏,可以包含多个命令按钮,通常放在QMainWindow的顶部 QListView控件 可以显示和控制可选的多选列表,可以设置ListMode或IconMode...QPixmap控件 可以在绘图设备上显示图像,通常放在QLabel或QPushButton类中 Qdialog控件 对话框窗口的基类 QT Designer控件 控件名称 说明 控件名称 说明 Layouts...QMainWindow:继承自QWidget类,是一个顶层窗口,它可以包含很多界面元素,如菜单栏、工具栏、状态栏、子窗口等。

    3.5K31

    Qt 学习记录

    参数可以通过按值(如:(a,b))和按引用(如:(&a,&b))两种方式进行传递。 ③ 可修改标示符 mutable,这部分可以省略。...QMainWindow QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(...直接调用QMainWindow类的addToolBar()函数获取主窗口的工具条对象,每增加一个工具条都需要调用一次该函数。 插入属于工具条的动作,即在工具条上添加操作。...) 铆接部件 QDockWidget,也称浮动窗口,可以有多个。...//浮动窗口 可以多个 QDockWidget * dockWidget = new QDockWidget("浮动窗口",this); //设置到窗口中 addDockWidget(Qt::BottomDockWidgetArea

    8.2K50

    Qt编写数据可视化大屏界面电子看板1-布局方案

    电子看板是目视化管理的一种表现形式,即对数据的状况一目了然地表现,主要是对于管理项目,它通过利用形象直观而又色彩适宜的各种视觉感知信息来组织现场生产活动,目视管理依据人类的生理特征,在生产现场充分利用信号灯、标识牌、符号颜色等方式来发出视觉信号...如果发现布局拖动乱了,可以直接鼠标右键选择恢复布局即可,在保存布局以前。 在中间地图模块鼠标右键可以弹出菜单,切换布局和配色方案等。...在模块的标题栏上右键可以弹出默认的dock菜单,用来显示和隐藏各模块。 软件关闭过程中会自动保存布局,下次启动以后自动应用。...如果是XP系统请先执行fixff.cmd,用来修复ffmpeg在XP上不可用的BUG。...设置中心窗体 this->setCentralWidget(moduleCenter); //设置停靠参数,不允许重叠,只允许拖动 this->setDockOptions(QMainWindow

    2.2K00

    【QT】Qt从零入门指南:创建你的第一个GUI程序

    Windows) Qt核心模块 示例和文档 Windows用户注意: MinGW:开源GCC编译器,适合学习和小项目 MSVC:微软编译器,性能更好,适合商业项目 可同时安装多个编译器版本...5.父类选择 在Base Class(父类)选项中,需要选择主窗口的Qt Widgets基类类型。...不同基类提供不同的窗口功能特性,具体说明如下: QMainWindow详解 带有菜单栏、工具栏和状态栏的主窗口基类 适用于开发完整的桌面应用程序(如文本编辑器、浏览器等需要完整菜单系统的程序) QWidget...作为所有Qt控件的基类 提供一个空白窗口(无菜单/工具栏) 适合创建简单弹窗或自定义小控件 QDialog 专为对话框设计的基类 适用于临时交互窗口(如登录窗口、设置对话框) 默认以模态方式运行(会阻止主窗口操作...) 结构对比 QMainWindow包含: 菜单栏(QMenuBar) 工具栏(QToolBar) 停靠窗口(QDockWidget) 状态栏(QStatusBar) 中央部件(Central Widget

    1.2K10

    学习 QT 过程中的一些笔记

    按引用传递 =, &a, &b 除 a 和 b 按引用进行传递外,其他参数都按值传递 &, a, b 除 a 和 b 按值进行传递外,其他参数都按引用传递 操作符重载函数参数 ( ) 参数可以通过按值 (如:...(a, b)) 和按引用 (如: (&a, &b)) 两种方式传递 可修改标示符 mutable 声明,加上 mutable 修饰符后,可以修改按值传递进来的拷贝 (修改的是拷贝,不是本体) 函数返回值...QPushButton("关闭", this); connect(btn_2, &QPushButton::clicked, this, [=](){ emit t->treat("屎"); }); QMainWindow...QDockWidget* dockWidget = new QDockWidget("浮动窗口", this); addDockWidget(Qt::BottomDockWidgetArea, dockWidget...font.family().toUtf8().data() << font.pointSize() << font.bold() << font.italic(); 界面布局 实现登录窗口 利用布局方式

    1.5K40

    PySide6 GUI 编程(1): 环境准备与示例代码

    __version__) 运行后得到输出:6.7.0 在PyCharm上配置Designer等工具 进入pip show pyside6展示的安装路径: 在此路径有有三个 .app 目录: Assistant.app...宏观上认识下 PySide6 的类 QWidget类 在Qt框架中,QWidget、QMainWindow和QDialog是构建GUI应用程序的基础组件,它们都是QWidget类的不同子类,各自有不同的用途和特点...特点:QMainWindow 支持MDI(多文档界面),可以嵌入多个子窗口。它还提供了窗口系统菜单和状态栏的集成。...功能区分:虽然 QMainWindow 和 QDialog 都可以包含其他控件和布局,但它们在应用程序中的角色和行为不同。...QMainWindow 作为应用程序的主要工作区,而 QDialog 用于特定的交互任务。

    1.8K63

    QPushButton 基本使用

    3、QCheckBox(复选框): 用于选择多个选项中的一个或多个选项。 可以设置文本、图标等属性。 提供了信号和槽机制,可以响应按钮的状态变化事件。...定义了按钮的通用行为和属性,如文本、图标、状态等。 这些按钮类提供了丰富的选项,它们大多都直接继承自 QAbstractButton,以满足不同类型的用户界面需求。...运行后效果如下: 3、连接按钮的点击事件到特定的函数: 按钮的最常见用途是在点击时执行特定的操作。为了实现这一点,我们可以使用信号和槽机制来连接按钮的点击事件到一个特定的函数。...以下是一些常用方法的示例: button.setGeometry(50, 50, 100, 30) # 设置按钮的位置和大小 button.move(50, 50) # 移动按钮到指定位置 button.resize...text-align: 设置按钮文本的对齐方式。 图标属性: icon: 设置按钮显示的图标。 icon-size: 设置按钮图标的大小。

    2.2K40

    Qt编写数据可视化大屏界面电子看板6-窗体打开关闭

    一、前言 二级窗体的打开与关闭,这个功能也很有必要,由于整个系统中各种模块数量窗体数量比较多,后期可能还会增加更多,在4K屏幕上可以显示很多的模块,但是有时候有些模块不想显示出来,就需要将该模块关闭掉,...直接在二级窗体的标题栏上增加关闭按钮,可能会影响整体的布局,此时提供鼠标右键菜单来控制各个模块的开关,就非常爽了,QDockWidget上场,QMainWindow类中如果有Dock类,则会自动生成右键菜单...电子看板是目视化管理的一种表现形式,即对数据的状况一目了然地表现,主要是对于管理项目,它通过利用形象直观而又色彩适宜的各种视觉感知信息来组织现场生产活动,目视管理依据人类的生理特征,在生产现场充分利用信号灯、标识牌、符号颜色等方式来发出视觉信号...在模块的标题栏上右键可以弹出默认的dock菜单,用来显示和隐藏各模块。 软件关闭过程中会自动保存布局,下次启动以后自动应用。...如果是XP系统请先执行fixff.cmd,用来修复ffmpeg在XP上不可用的BUG。

    1.3K50
    领券