前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >QT从控件部分知识点整理

QT从控件部分知识点整理

作者头像
大忽悠爱学习
发布于 2021-11-15 03:42:06
发布于 2021-11-15 03:42:06
1.1K00
代码可运行
举报
文章被收录于专栏:c++与qt学习c++与qt学习
运行总次数:0
代码可运行

QT中的工具栏和菜单栏

QMainWindow

菜单栏在为空的状态下,什么都不会显示

菜单栏创建演示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    //菜单栏创建---菜单栏最多只能有一个
    QMenuBar*b=menuBar();
    //将菜单栏放入到窗口中---菜单栏在为空的状态下,什么都不会显示
    setMenuBar(b);
    //创建菜单
     QMenu *fileMenu= b->addMenu("文件");
     QMenu* editMenu=b->addMenu("编辑");
     //创建菜单项目
     fileMenu->addAction("新建");
     //添加分隔符
     fileMenu->addSeparator();
     fileMenu->addAction("打开");

工具栏创建演示:

1.设置工具栏默认的停靠区域

2.设置可以停靠的区域,例如:只能停靠在左和右 3.设置工具栏是否可以浮动,即工具栏要么停靠在左边,要么停靠在右边,一撒手就立刻回去了 4.设置移动:如果传入一个false,则表示该工具栏无法拖拽移动

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    //重置窗口大小
    resize(600,400);
    //菜单栏创建---菜单栏最多只能有一个
    QMenuBar*b=menuBar();
    //将菜单栏放入到窗口中---菜单栏在为空的状态下,什么都不会显示
    setMenuBar(b);
    //创建菜单
     QMenu *fileMenu= b->addMenu("文件");
     QMenu* editMenu=b->addMenu("编辑");
     //创建菜单项目
     QAction* FileAction=fileMenu->addAction("新建");
     //添加分隔符
     fileMenu->addSeparator();
     QAction* OpenAction=fileMenu->addAction("打开");

     //工具栏 可以有多个
     QToolBar * toolBar=new QToolBar(this);
     //可以设置工具栏的停靠区域
     addToolBar(Qt::LeftToolBarArea,toolBar);

     //后期设置,只能左右停靠
     toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);

     //设置浮动
     toolBar->setFloatable(false);
     //设置移动:总开关
     toolBar->setMovable(false);

     //工具栏中可以设置内容
     toolBar->addAction(FileAction);
     //添加分割线
     toolBar->addSeparator();
     toolBar->addAction(OpenAction);
     //工具栏中添加控件
     QPushButton* btn=new QPushButton("关闭程序",this);
     toolBar->addWidget(btn);

状态栏创建演示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   //状态栏 最多有一个
     QStatusBar* stBar=statusBar();
     //放置到窗口中
     setStatusBar(stBar);
     //放标签控件
     QLabel* label=new QLabel("提示信息",this);
     //放置在左侧
     stBar->addWidget(label);
     
     QLabel* label2=new QLabel("右侧提示信息",this);
     //放置在右侧
     stBar->addPermanentWidget(label2);

铆接部件(浮动窗口)创建演示:

放置区域的参数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  //铆接部件(浮动窗口)可以有多个
     QDockWidget* dockWidget=new QDockWidget("浮动",this);
     //停靠在核心部件下部
     addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
      //设置后期停靠区域,只能停靠在上面或者下面
     dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);

中心部件创建演示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     //设置中心部件---只能有一个
     QTextEdit* edit=new QTextEdit(this);
     setCentralWidget(edit);

资源文件添加

步骤1: 找到当前项目所在文件夹,将对应的资源放入当前项目所在的文件夹

步骤2:

选择QRF:

点击Open in Editor来编辑资源文件


模态和非模态对话框

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   //点击新建按钮,弹出一个对话框
    connect(ui->newFile, &QAction::triggered,[=](){
        //对话框 分类
        //模态对话框(打开该对话框之后,不可以对其他窗口进行操作,相当于堵塞了代码)
        //模态对话框创建---阻塞
        QDialog dlg(this);
        //重载模态对话框大小
        dlg.resize(200,100);
        dlg.exec();
        qDebug()<<"模态对话框弹出了";
        
        //非模态对话框(打开了该对话框之后,可以对其他窗口进行操作)
          //QDialog dlg2(this); 这里放在匿名函数对象,生命周期只有一行,对话框一闪而过,建议在堆区创建
        QDialog* dlg2=new QDialog(this);//重复点击关闭窗口,会重复再堆区创建对象,导致内存泄露
        dlg2->resize(200,100);
        dlg2->show();
        //设置对话框属性,关闭对话框就释放当前对话框对象
        dlg2->setAttribute(Qt::WA_DeleteOnClose);
        qDebug()<<"非模态对话框弹出了";

消息对话框

QMessageBox中常用的静态成员函数:

消息对话框和错误对话框演示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    //消息对话框
    //错误对话框---弹出一个警告窗口
    QMessageBox::critical(this,"警告","用户名错误");//父亲  标题  内容
     
    //信息对话框
    QMessageBox::information(this,"信息","请输入密码");

提问对话框演示:

提问对话框第四个参数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    //提问对话框
  QMessageBox::question(this,"提问","你叫什么?",
  QMessageBox::Help|QMessageBox::Apply,QMessageBox::Apply);
  //第四个参数:按键类型  第五个参数:设置默认激活的选项,默然关联回车按键

返回值就是第四个参数的类型:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   if(QMessageBox::Help==QMessageBox::question(this,"提问","你叫什么?",
    QMessageBox::Help|QMessageBox::Apply,QMessageBox::Apply))
   {
       qDebug()<<"选择了帮助按键";
   }

颜色对话框

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     //颜色对话框
    QColor color=QColorDialog::getColor(QColor(255,0,0));
    qDebug()<<"r= "<<color.red()<<"  g="<<color.green()<< " b="<<color.blue();

文件对话框

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//文件对话框---打开c盘文件夹  
    //父亲   标题   默认打开路径  过滤文件格式  返回QString: 选取的路径
    QString s=QFileDialog::getOpenFileName(this,"打开文件","c:","(*.txt)");

字体对话框

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//字体对话框
        bool flag;
    QFont font=QFontDialog::getFont(&flag,QFont("华文彩云",36));
    //去掉中文显示有双引号
     qDebug()<<"字体: "<<font.family().toUtf8().data()<<"  字号:"<<font.pointSize()<<
               "  是否加粗:"<<font.bold();

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/07/14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
小程序-云开发-如何对敏感词进行过滤即内容安全的检测(下)
在前面一文小程序-云开发-如何对敏感词进行过滤即内容安全的检测(上)中通过在小程序端请求云函数msgSecCheck1,通过request,request-promise请求微信提供的内容安全接口以及获取access_token,实现了对小程序端输入文本内容安全的检测
itclanCoder
2020/10/28
3.1K0
小程序-云开发-如何对敏感词进行过滤即内容安全的检测(下)
做好内容安全检测,和风险说「再见」!(上)
随笔川迹: 一个靠前排的90后具有情怀的技匠,路上正追逐斜杠青年的践行者,人人领读发起人。
腾讯云开发TCB
2020/06/03
1.4K0
做好内容安全检测,和风险说「再见」!(下)
随笔川迹: 一个靠前排的90后具有情怀的技匠,路上正追逐斜杠青年的践行者,人人领读发起人。
腾讯云开发TCB
2020/06/03
1.2K0
用云开发CloudBase,实现小程序多图片内容安全检测
随笔川迹: 一个靠前排的90后具有情怀的技匠,路上正追逐斜杠青年的践行者,人人领读发起人。
腾讯云开发TCB
2020/06/09
1.4K0
用云开发制作教务助手小程序丨实战
本项目由一人承担从后端到前端的构思以及开发,下面我就讲讲从教务助手小程序的构思到开发实现(基于云开发)。
腾讯云开发TCB
2019/12/03
1.6K0
unicloud云函数开发微信客服消息自动回复图片消息(完整步骤)
此时点击提交,会提示你Token校验失败,请检查确认,不要慌,只是云函数里面没有写而已。这个时候就可以去写云函数的代码了~~
猿来是前端
2022/09/19
1.5K0
unicloud云函数开发微信客服消息自动回复图片消息(完整步骤)
小程序·云开发之数据库自动备份丨云开发101
数据是无价的,我们通常会把重要的业务数据存放在数据库中,并需要对数据库做定时的自动备份工作,防止数据异常丢失,造成无法挽回的损失。
腾讯云开发TCB
2019/10/12
1.3K0
小程序云开发--内容安全审查API云调用
云调用 云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用。 接口方法 openapi.security.msgSecCheck 需在 config.json 中配置 security.msgSecCheck API 的权限,详情 请求参数 属性 类型 默认值 必填 说明 content string 是 要检测的文本内容,长度不超过 500KB 返回值 Object 返回的 JSON 数据包 属性 类型 说明 errCode
Kindear
2019/11/20
3K0
小程序云开发全套实战教程(最全)
在学习云开发的时候将自己的学习过程记录下来了,放在了网上,收获了一波好评,今天下午在办公室没有事情,也发现之前有人在博客里面评论,你这个教程还有一半哩,可能是csdn的自动搬运功能出来一点小问题,没有搬运成功吧,这里就手动复制粘贴成为一篇了,篇幅比较长,如果有不足或者不注意写错的地方,欢迎大家提出纠正哦。
王小婷
2019/01/28
16.2K2
小程序的登录与静默续期
每一个有数据交互的小程序,都会涉及到登录、token 等问题,openid 又是什么呢?怎么使用静默续期,来提升用户体验呢?
ITer.996
2019/08/28
2.7K0
小程序的登录与静默续期
小程序开发 access_token 统一管理
对于使用过公众平台的API功能的开发者来说,access_token绝对不会陌生,它就像一个打开家门的钥匙,只要拿着它,就能使用公众平台绝大部分的API功能。因此,对于开发者而言,access_token的使用方式就变得尤其的重要。在日常API接口的运营中,经常遇到各种的疑问:为什么我的access_token突然非法了?为什么刚刚拿到的access_token,用了10min就过期了?对于这些疑问,我们提供出access_token的设计方案,便于开发者对access_token使用方式上的理解。
Kindear
2021/07/14
1.9K0
小程序开发 access_token 统一管理
【愚公系列】2022年09月 微信小程序-微信小程序实现网页一键登录功能
如果微信小程序要获取微信登录的用户信息,需要拿到code去后台换取用户信息,具体步骤又如下:
愚公搬代码
2022/10/05
1.6K0
小程序云开发实战 - 口袋工具之“历史上的今天”
本文选取项目中的一个页面 -- 历史上的今天 来做一个云开发的分享,会涉及云函数和云数据库。
腾讯云开发TCB
2019/07/29
7460
小程序云开发实战 - 口袋工具之“历史上的今天”
小程序开发技巧总结(三)-- 云开发时效数据刷新和存储 (access_token等)
小程序中经常有需要进行OCR识别,或者使用外部api例如百度AI识别等接口,请求调用这些接口需要令牌,即一些具有时效性的数据。本文以小程序云开发使用百度API接口为例,介绍access_token定时刷新和请求机制。
Kindear
2020/03/19
1.5K0
小程序开发技巧总结(三)-- 云开发时效数据刷新和存储 (access_token等)
用云开发实现小程序订阅消息配置
https://developers.weixin.qq.com/community/develop/doc/00008a8a7d8310b6bf4975b635a401
腾讯云开发TCB
2019/10/17
1.4K0
小程序云开发实战三:编写云函数代码
通过看文档可以学会,在云函数里,我们可以通过传递一份data来获取这里面的数据,然后再通过event来拿到对应的数据。
王小婷
2020/10/29
1K0
【实战】小程序云开发,云函数中使用Router(附源码)
最近在做自己的小程序《看啥好呢》,这个小程序是使用云开发的方式开发的,功能特别简单,就是获取豆瓣、大麦网的数据展示,虽然功能简单,但还是记录下开发过程和一些技术点,大约会有两篇博文产出,这是第二篇。GitHub地址
张张
2019/12/23
1.2K0
【实战】小程序云开发,云函数中使用Router(附源码)
小程序云开发实战四:调用豆瓣API获取具体的数据
1:打开云函数文件夹,index.js里面编写代码,引用request promise。
王小婷
2020/10/29
1.7K0
假期为啥不用加班,因为小程序云开发上线了这个功能!
开发阿杰早在假期前就计划好了和女友的巴厘岛之旅,也提前订好了机票。可偏偏就在放假前一天,因公司接待需要得紧急上线一个访客预约的小程序解决自主预约及访客通知的需求,由于没有通过小程序发通知的经验沉淀,从阅读文档到产品发布可能需要耗费不少的时间,这使阿杰犯了难,原定于19:00起飞的飞机,他还能赶上吗?
腾讯云开发TCB
2019/04/09
1.1K0
假期为啥不用加班,因为小程序云开发上线了这个功能!
巧用云调用,实现【共享名片夹】小程序
从一个较早的小程序开发者到第一批使用小程序·云开发的开发者,这期间一直在关注关于小程序各方面的更新,同时也用小程序·云开发做了几款产品,其中包括上次分享的随手记Lite小程序,比较上次,这次分享的技术点相对更加全面和实用一些。
腾讯云开发TCB
2019/05/05
9K3
巧用云调用,实现【共享名片夹】小程序
推荐阅读
相关推荐
小程序-云开发-如何对敏感词进行过滤即内容安全的检测(下)
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • QT中的工具栏和菜单栏
  • QMainWindow
    • 菜单栏创建演示:
    • 工具栏创建演示:
    • 状态栏创建演示:
    • 铆接部件(浮动窗口)创建演示:
    • 中心部件创建演示:
  • 资源文件添加
  • 模态和非模态对话框
  • 消息对话框
  • 颜色对话框
  • 文件对话框
  • 字体对话框
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档