当前位置: 首页 > news >正文

QT入门--QMainWindow

从上向下依次是菜单栏,工具栏,铆接部件(浮动窗口),状态栏,中心部件 

菜单栏

创建菜单栏

QMenuBar* mybar1 = menuBar();


将菜单栏放到窗口中

setMenuBar(mybar1);


创建菜单

QMenu *myfilemenu = mybar1->addMenu("文件");


创建菜单项

myfilemenu->addAction("新建");
myfilemenu->addAction("打开");

添加分割符

 myfilemenu->addSeparator();

note:菜单栏最多只有一个

工具栏

note:工具栏可以有多个

//创建工具栏
QToolBar* mytool1 = new QToolBar(this);
addToolBar(Qt::LeftToolBarArea,mytool1);
//只允许左右停靠
mytool1->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
//禁止浮动
mytool1->setFloatable(false);
//工具栏中设置的内容
mytool1->addAction(openAction);
mytool1->addAction(newAction);

状态栏

   //创建状态栏:最多只有一个QStatusBar* myState = statusBar();setStatusBar(myState);QLabel* mylabel1 = new QLabel("提示信息", this);myState->addWidget(mylabel1);QLabel* myLabel2 = new QLabel("右侧提示信息", this);myState->addPermanentWidget(myLabel2);

铆接部件和中心部件

    //铆接部件:多个QDockWidget* myDock = new QDockWidget("浮动",this);addDockWidget(Qt::BottomDockWidgetArea, myDock);//设置中心部件:一个QTextEdit* myEdit = new QTextEdit(this);setCentralWidget(myEdit);

资源文件添加

ui->actionnew->setIcon(QIcon("路径"));

添加资源文件步骤

添加资源文件

open in Editor

随后添加前缀和添加文件即可

模态和非模态对话框创建

头文件

#include "QDialog"

connect(ui->actionnew,&QAction::triggered,this,[=](){//对话框//模态对话框:不可以对其他窗口进行操作QDialog mylog(this);mylog.resize(200,100);mylog.exec();});
connect(ui->actionnew,&QAction::triggered,this,[=](){//对话框//非模态对话框:可以对其他窗口进行操作QDialog *mylog = new QDialog(this);mylog->resize(200,100);mylog->show();//当关闭时候释放内存mylog->setAttribute(Qt::WA_DeleteOnClose);});

消息对话框

头文件

#include"QMessageBox"

connect(ui->actionnew,&QAction::triggered,this,[=](){//消息对话框QMessageBox::critical(parent,"critial","错误");});
connect(ui->actionnew,&QAction::triggered,this,[=](){//消息对话框QMessageBox::information(parent,"info","提问");});

参数1:父亲 参数2:标题 参数三:提示内容 参数4:按钮类型

其他标准对话框

例子:使用颜色对话框

//颜色connect(ui->actionnew,&QAction::triggered,this,[=](){//消息对话框QColor color = QColorDialog::getColor(QColor(255,0,0));});

文件对话框 

//文件connect(ui->actionnew,&QAction::triggered,this,[=](){//消息对话框:返回值为路径QFileDialog::getOpenFileName(this,"打开文件",".\\","(*.docx)");});

登录窗口布局

在ui设计窗口进行设计

label:标签

text edit 输入框

push button 点击按钮

拖动widget进行布局

spacers是两个弹簧

间隙

最大大小

密码模式

UI控件

按钮控件

QListWidget控件

 

 其他控件

 

 

http://www.lryc.cn/news/542747.html

相关文章:

  • C++ | 高级教程 | 信号处理
  • 最新前端框架选型对比与建议(React/Vue/Svelte/Angular)
  • 游戏引擎学习第123天
  • 计算机网络:从底层原理到前沿应用,解锁数字世界的连接密码
  • grafana K6压测
  • Vue的组合式API和选项式API有什么区别
  • ubuntu 安全策略(等保)
  • c/c++蓝桥杯经典编程题100道(22)最短路径问题
  • AI工具集合
  • CSDN 博客:CC++ 内存管理详解
  • 表单制作代码,登录动画背景前端模板
  • 嵌入式项目:STM32刷卡指纹智能门禁系统
  • LeetCode 热题100 141. 环形链表
  • 以绘图(绘制点、直线、圆、椭圆、多段线)为例子 通过设计模式中的命令模式实现
  • 鹏哥c语言数组(初阶数组)
  • 利用go-migrate实现MySQL和ClickHouse的数据库迁移
  • 计算机毕业设计SpringBoot+Vue.js企业客户管理系统(源码+LW文档+PPT+讲解+开题报告)
  • jmeter 如何做移动端的测试 特别是兼容性测试
  • 深度学习技术全景图:从基础架构到工业落地的超级进化指南
  • vllm部署LLM(qwen2.5,llama,deepseek)
  • 基于SpringBoot的“古城景区管理系统”的设计与实现(源码+数据库+文档+PPT)
  • 如何防止 Docker 注入了恶意脚本
  • 使用python接入腾讯云DeepSeek
  • 【MySQL】服务正在启动或停止中,请稍候片刻后再试一次【解决方案】
  • 测试工程师玩转DeepSeek之Prompt
  • 【PyTorch】2024保姆级安装教程-Python-(CPU+GPU详细完整版)-
  • 精选案例展 | 智己汽车—全栈可观测驱动智能化运营与成本优化
  • MySQL 使用 `WHERE` 子句时 `COUNT(*)`、`COUNT(1)` 和 `COUNT(column)` 的区别解析
  • Linux运维——网络管理
  • STM32CUBEIDE FreeRTOS操作教程(十三):task api 任务访问函数