QT入门--QMainWindow

news/2025/2/26 14:38:46

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

菜单栏

创建菜单栏

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.niftyadmin.cn/n/5868831.html

相关文章

HTTP/HTTPS 服务端口监测的简易实现

一 HTTP/HTTPS 服务端口监测的简易实现方法 在当今快节奏的工作环境中,工作忙碌成为了许多职场人的常态。就拿我们团队最近经历的事情来说,工作任务一个接一个,大家都在各自的岗位上争分夺秒地忙碌着。然而,就在这样高强度的工作…

《迈向认知智能新高度:深度融合机器学习与知识图谱技术》

在人工智能的蓬勃发展进程中,机器学习与知识图谱技术正逐渐成为推动行业变革的关键力量。机器学习赋予机器从数据中学习并做出预测的能力,知识图谱则以结构化的方式描绘现实世界中实体与关系,为机器理解知识提供了语义框架。将二者深度融合&a…

A Large Recurrent Action Model: xLSTM Enables Fast Inference for Robotics Tasks

奥地利林茨约翰开普勒大学机器学习研究所 ELLIS 小组,LIT 人工智能实验室奥地利林茨 NXAI 有限公司谷歌 DeepMind米拉 - 魁北克人工智能研究所 摘要 近年来,强化学习(Reinforcement Learning, RL)领域出现了一种趋势,…

bash快捷键完整版

bash快捷键完整版 生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率。 编辑命令 Ctrl a :移到命令行首Ctrl e :移到命令行尾Ctrl f :按字符前移(右向)Ctrl b &#x…

leetcode 283. 移动零(详解)双指针c++

题目链接:283. 移动零 - 力扣(LeetCode) 算法原理 解法一:辅助数组 开辟一个辅助数组,遍历原数组,每次遍历到非0元素的时候,就把它放入辅助数组里,最后让辅助数组覆盖原数组&…

电商API接口设计:商品、订单与支付模块的微服务拆分实践

在电商系统中,将商品、订单与支付模块进行微服务拆分是一种常见且有效的架构设计策略,它可以提高系统的可维护性、可扩展性和灵活性。以下是关于这三个模块微服务拆分的详细实践: 1. 微服务拆分的原因 高内聚低耦合:每个模块专注于…

交叉编译curl(OpenSSL)移植ARM详细步骤

运行配置脚本 使用 Configure 脚本配置 OpenSSL,指定目标平台和安装路径: curl downloads 各个版本 Old 1.1.1 Releases | OpenSSL Library 各个版本 从 OpenSSL 官网下载源码包 tar -xzf openssl-1.1.1b.tar.gz cd openssl-1.1.1b/运行配置脚本 使…

pnpm的基本用法

以下是 pnpm 的核心命令和使用指南&#xff0c;涵盖从安装依赖到项目管理的常见操作&#xff1a; 1. 基础命令 (1) 安装依赖 pnpm install # 安装 package.json 中的所有依赖 pnpm install <包名> # 安装指定包&#xff08;自动添加到 dependencies&#xf…