当前位置: 首页 > 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控件

 

 其他控件

 

 

相关文章:

  • 2025年2月,TVBOX接口最新汇总版
  • C#实现本地AI聊天功能(Deepseek R1及其他模型)。
  • 五、 Spring Framework基础:Spring Data JPA基本用法与 Repository 接口
  • 在 Windows 上配置 Ollama 服务并开放局域网访问
  • Spring MVC框架二:创建第一个MVC程序
  • Redis-列表结构实操
  • labview实现有符号位16进制转二进制补码转真值
  • 数据结构与算法面试专题——桶排序
  • 前端浏览器开发中的浏览器兼容问题【持续更新】
  • 计算机毕业设计 ——jspssm502Springboot 餐厅点餐系统
  • C语言数据结构—堆的应用及Topk问题
  • Dify部署
  • 第一章:项目简介
  • 非结构化数据管理平台如何解决企业数据孤岛问题?
  • 物联网综合实训室建设方案的探讨(职业院校物联网综合实训室建设方案)
  • 朝天椒 USB 服务器解决投标CA盾异地连接
  • django框架使用
  • 希尔排序:突破插入排序的局限
  • 嵌入式开发:傅里叶变换(4):在 STM32上面实现FFT(基于STM32L071KZT6 HAL库+DSP库)
  • 【nginx】nginx.conf配置详解
  • 坚持吃素,是不是就不会得高血脂了?
  • 泽连斯基:正在等待俄方确认参加会谈的代表团组成
  • 迪奥部分客户数据遭泄露,公司称正持续展开调查
  • 韩国大选连发“五月惊奇”:在野党刚“摆脱”官司,执政党又生“内讧”
  • 泽连斯基称与特朗普通话讨论停火事宜
  • 乡村快递取件“跑腿费”屡禁不止?云南元江县公布举报电话