Qt——QMainWindow不同功能栏基础操作总结

news/2024/12/2 17:35:46/

目录

一.菜单栏

二.工具栏

三.状态栏

四.浮动窗口/铆接部件

五.中心部件/中心控件


一.菜单栏

<QMenuBar>

<QMenu>

只能有一个

1.创建菜单栏

QMenuBar* bar = new QMenuBar(this);

2.将菜单放入主窗口

this->setMenuBar(bar);

3.创建菜单

QMenu* start = bar->addMenu("start");

 4.添加菜单项

start->addAction("save");

5.添加分隔线

start->addSeparator();

二.工具栏

<QToolBar>

可以有多个

1.创建并添加工具栏,初始化停靠位置为左侧

QToolBar* tool = new QToolBar(this);
this->addToolBar(Qt::LeftToolBarArea, tool);

2.添加工具项,可添加控件

tool->addAction("search");
QPushButton* but = new QPushButton("save", this);
tool->addWidget(but);//添加按钮控件

3.选择移动属性(能否移动),默认移动

tool->setMovable(false);//不能移动

 4.选择浮动属性(是否必须停靠),默认浮动

tool->setFloatable(false);//禁止浮动

5.选择后续停靠状态

//允许左右停靠
tool->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);

三.状态栏

<QStatusBar>

只能有一个

1.创建并添加状态栏

 QStatusBar* status = new QStatusBar(this);this->setStatusBar(status);

2.添加控件,默认在左侧 

QPushButton* but = new QPushButton("save", this);
status->addWidget(but);

 注:addAction添加action类不报错,但是无效

3.从右侧添加控件

QLabel * lab = new QLabel("status", this);
status->addPermanentWidget(lab);//添加标签控件

四.浮动窗口/铆接部件

<QDockWidget>

可以有多个

1.创建并添加浮动窗口,需要给定初始化位置

QDockWidget* dock = new QDockWidget("Dock", this);
addDockWidget(Qt::BottomDockWidgetArea, dock);//底部

2.选择浮动方式,默认浮动

dock->setFloating(true);

 3.选择停靠位置

dock->setAllowedAreas(Qt::AllDockWidgetAreas);//全方位停靠

 4.添加控件

QPushButton* but = new QPushButton("save", this);
dock->setWidget(but);

5.设置窗口大小

dock->resize(200, 50);

五.中心部件/中心控件

以记事本为例

<QTextEdit>

1.创建记事本控件

QTextEdit* text = new QTextEdit(this);

2.添加中心控件

setCentralWidget(text);


http://www.ppmy.cn/news/6729.html

相关文章

在windows操作系统上安装mysql数据库

背景 写这个数据库的安装教程&#xff0c;是为了后续文章中在windows系统中搭建测试环境要用到数据库做铺垫&#xff0c;不是所有的人都有云服务器&#xff0c;有的觉得去虚拟机里面安装太麻烦了&#xff0c;电脑会更卡&#xff0c;因此&#xff0c;还不如直接在自己电脑上安装…

【LeetCode】字母异位词分组 [M](字符串)

49. 字母异位词分组 - 力扣&#xff08;LeetCode&#xff09; 一、题目 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的字母得到的一个新单词&#xff0c;所有源单词中的字母通常恰好只用一次。…

Java方法递归的形式和常见递归算法-方法递归结合File类查找文件

文章目录方法递归方法递归的形式递归常见的算法非规律递归案例方法递归 方法递归的形式 什么是方法递归? 方法直接调用自己或者间接调用自己的形式称为方法递归&#xff08; recursion&#xff09;。 递归做为一种算法在程序设计语言中广泛应用。 递归的形式: 直接递归&…

小题 错题总结

要是对象具有序列化&#xff0c;应该实现的接口是 Java.IO.Serializable在 JVM 内存划分中 &#xff0c;方法通常存储在 方法区多态的3种表现形式&#xff1a; 继承重写 重载 向上转型Java 中继承可以间接继承&#xff0c;即便中间跨过一个类&#xff0c;栗子&#xff1a;所有…

【MySQL基础教程】DQL语句详细介绍

前言 本文为 【MySQL基础教程】DQL语句 相关内容介绍&#xff0c;下边具体将对DQL语句基本语法&#xff0c;基础查询&#xff0c;条件查询&#xff0c;聚合函数&#xff0c;分组查询&#xff0c;排序查询&#xff0c;分页查询&#xff0c;相关案例&#xff0c;执行顺序等进行详…

EsLint 常用规则

ESLint 是一个代码规范和错误检查工具&#xff0c;有以下几个特性。所有东西都是可以插拔的。你可以调用任意的 rule api 或者 formatter api 去打包或者定义 rule or formatter。任意的 rule 都是独立的。没有特定的 coding style&#xff0c;你可以自己配置。 中文文档: http…

【Python百日进阶-数据分析】Day138 - plotly甘特图:px.timeline()

文章目录一、语法二、参数三、返回值四、实例4.1 带有 plotly.express 的甘特图和时间表4.1.1 普通甘特图4.1.2 px.timeline 的离散颜色4.1.3 px.timeline 的连续颜色4.1.4 同一水平线上有多个条4.1.5 Dash中使用甘特图一、语法 甘特图是一种条形图&#xff0c;用于说明项目进…

Docker常用操作命令总结(一)

文章目录一、Docker的应用场景二、Docker 的优点三、Docker 架构四、安装Docker1、更新 apt 包索引2、安装docker3、安装完成之后&#xff0c;运行命令sudo docker info&#xff0c;检查安装状态4、有可能&#xff0c;第一次需要手动启动服务.就需要执行下面的命令&#xff0c;…