【QT学习】4.对话框学习,浮动窗口,模态对话框,非模态对话框,消息框,文件对话框

1.浮动窗口

代码:

    //制作核心控件:文本编辑框QTextEdit* pTextEdit=new QTextEdit;//制作浮动控件connect(pMenu1,&QMenu::triggered,[=](QAction* pAction){qDebug()<<pAction->text()<<endl;if(pAction->text()=="浮动控件"){QDockWidget* pDockWidget=new QDockWidget;QTextEdit* pTextEdit2=new QTextEdit;pDockWidget->setWidget(pTextEdit2);//添加浮动控件this->addDockWidget(Qt::RightDockWidgetArea,pDockWidget);}else if(pAction->text()=="核心控件"){this->setCentralWidget(pTextEdit);}});

QTextEdit为文本编辑框

QDockWidget为浮动控件,其中放置了一个QTextEdit文本编辑框

2.模态对话框,非模态对话框,消息框,文件对话框

1.模态对话框:必须处理对话框才可以切换回主界面。

2.非模态对话框:与上相反

3.消息框:也是模态对话框

4.文件对话框:弹出找文件

#include "mainwindow.h"
#include <QMenuBar>
#include <QMenu>
#include <QAction>
#include <QDebug>
#include <QDialog>
#include <QMessageBox>
#include <QFileDialog>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{//创建窗口,交互按键setWindowTitle("对话框学习");resize(400,400);QMenuBar* pMenuBar=menuBar();QMenu* pMenu=new QMenu();pMenu->setTitle("对话框");pMenuBar->addMenu(pMenu);QAction* pAction1=new QAction;pAction1->setText("模态对话框");QAction* pAction2=new QAction;pAction2->setText("非模态对话框");QAction* pAction3=new QAction;pAction3->setText("消息框");QAction* pAction4=new QAction;pAction4->setText("文件对话框");pMenu->addAction(pAction1);pMenu->addAction(pAction2);pMenu->addAction(pAction3);pMenu->addAction(pAction4);//实现,模态对话框,非模态对话框,消息框,文件对话框connect(pMenu,&QMenu::triggered,[=](QAction* action){if(action->text()=="模态对话框"){qDebug()<<"模态对话框"<<endl;QDialog* pDialog=new QDialog;pDialog->setWindowTitle("模态对话框");pDialog->exec();//**堵塞就是模态对话框**}if(action->text()=="非模态对话框"){qDebug()<<"非模态对话框"<<endl;QDialog* pDialog=new QDialog;pDialog->setWindowTitle("非模态对话框");pDialog->show();//**不堵塞就是非模态对话框**}if(action->text()=="消息框"){qDebug()<<"消息框"<<endl;int r=QMessageBox::question(this,"提问","喜不喜欢我");if(r==QMessageBox::Yes){qDebug()<<"好的"<<endl;}else{qDebug()<<"跪CPU"<<endl;}}if(action->text()=="文件对话框"){qDebug()<<"文件对话框"<<endl;QString str=QFileDialog::getOpenFileName(this,"找文件","source(*.cpp *.c);;""head(*.h);;""tex(*.txt);;""all(*.*)");qDebug()<<str<<endl;}});
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/801050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring与Web环境的集成

1. ApplicationContext应用上下文获取方式 应用上下文对象是通过new ClasspathXmlApplicationContext(spring配置文件) 方式获取的&#xff0c;但是每次从容器中获得Bean时都要编写new ClasspathXmlApplicationContext(spring配置文件) &#xff0c;这样的弊端是配置文件加载多…

Vulnhub:DEVCONTAINER: 1

目录 信息收集 arp nmap nikto whatweb WEB 信息收集 dirmap 文件上传 提权 系统信息收集 横向提权 信息泄露 get root 信息收集 arp ┌──(root㉿ru)-[~/kali/vulnhub] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:50:56:2f:dd…

YUM仓库和编译安装

目录 一.YUM仓库搭建 1.简介&#xff1a; 2.搭建思路&#xff1a; 3.实验&#xff1a;单机yum的创建 二.编译安装 1.简介 2.安装过程 3.实验&#xff1a;编译安装nginx 一.YUM仓库搭建 1.简介&#xff1a; yum是一个基于RPM包&#xff08;是Red-Hat Package Manager红…

超级agent的端语言模型Octopus v2: On-device language model for super agent

大型语言模型&#xff08;LLMs&#xff09;在函数调用方面展现出卓越的应用潜力&#xff0c;特别是针对Android API的定制应用。与那些需要详尽描述潜在函数参数、有时甚至涉及数万个输入标记的检索增强生成&#xff08;RAG&#xff09;方法相比&#xff0c;Octopus-V2-2B在训练…

计算机网络⑨ —— TCP粘包与拆包

1. 什么是TCP粘包与拆包 TCP作为传输层协议并不了解上层业务数据的具体含义&#xff0c;它会根据TCP缓冲区的实际情况进⾏数据包的划分&#xff0c;所以在业务上认为是⼀个完整的包&#xff0c;可能会被TCP拆分成多个包进⾏发送&#xff0c;也有可能把多个⼩的包封装成⼀个⼤的…

fastlio2 保存每帧的点云和每帧的里程计为单独的文件做后端回环优化和手动回环优化

为了 提供数据做后端回环优化和手动回环优化,需要保存每帧的点云和每帧的里程计为单独的文件,并且需要保存的名字为ros时间戳。 效果很好,比我自己写的手动回环模块好用 // This is an advanced implementation of the algorithm described in the // following paper: /…

ZLMediaKit ubantu 下编译

1、获取代码 #国内用户推荐从同步镜像网站gitee下载 git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit cd ZLMediaKit #千万不要忘记执行这句命令 git submodule update --init二、依赖库 Debian系(包括ubuntu&#xff09;系统下安装依赖的方法&#xff1a; #除了…

如何修改电脑用户名user后的名字

更改电脑用户名&#xff08;C:\Users\用户名&#xff09; 直接上步骤 1.WinR打开运行窗口&#xff0c;输入regedit&#xff0c;打开注册表&#xff0c;CtrlF搜索&#xff0c;找到ProfileList,这里会出现几个S-1-5开头的文件。 这里有一处注意的&#xff1a; 图片中的这个位置要…

2024.4.8-day12-CSS 常用样式属性和字体图标

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 作业2024.4.8-学习笔记盒子阴影文本阴影透明的vertical-align字体使用 作业 &…

2024年网络安全趋势前瞻:从AI攻击到云安全新挑战

随着2024年开展新的序幕&#xff0c;网络安全领域正面临着前所未有的挑战与机遇&#xff0c;一系列引人注目的趋势和预测逐渐浮出水面。 一、AI技术发展引发的安全问题 近年来&#xff0c;我们见证了AI技术的飞速进步&#xff0c;其中ChatGPT等引领潮流的AI服务成为公众瞩目的…

STL优先队列比较器

有两个比较器&#xff0c;在std里面&#xff0c;一个是greater&#xff0c;一个是less&#xff0c;他们都有一个可以指定的模板类型。 #include <bits/stdc.h> using namespace std; struct node {bool operator ()(const string& a, const string& b){return a…

Linux——计算机进程基础知识

计算机基础知识 1.计算机组成五大部件: (1) 运算器 &#xff1a;也叫算数逻辑单元&#xff0c;完成对数据的各种常规运算&#xff0c;如加减乘除&#xff0c;也包括逻辑运算&#xff0c;移位&#xff0c;比较等。 (2) 控制器 &#xff1a; 它是整个计算机系统的控制中心&…

【云开发笔记No.29】如何建设数据中台

数据中台的建设是一个系统性工程&#xff0c;涉及多个层面和多个步骤。以下是根据当前行业实践和技术发展趋势总结的数据中台建设的关键步骤&#xff1a; 统一数据标准与规范&#xff1a; 确立统一的数据指标口径&#xff0c;消除数据的二义性&#xff0c;这是确保数据质量和一…

嵌入式算法开发系列之大林算法

嵌入式系统中的大林算法 文章目录 嵌入式系统中的大林算法前言一、大林算法原理二、大林算法应用三、C语言实现总结 前言 在嵌入式系统中&#xff0c;算法的选择对系统性能和资源利用具有重要影响。大林算法是一种常见的图论算法&#xff0c;用于求解最小生成树和最短路径等问…

【三维重建工具】NeRFStudio、3D GaussianSplatting、Colmap安装与使用指南(更新中)

目录 一、NeRFStudio安装1.安装&#xff08;ubuntu系统&#xff09;2.安装&#xff08;windows系统&#xff09; 二、安装tinycudann三、Colmap安装与使用1. 安装依赖2. 安装colmap3.使用colmap3.1 可视化界面使用3.2 Nerfstudio命令行调用Colmap 四、使用NeRFStudio进行三维重…

行云防水堡-打造企业数据安全新防线

企业数据安全&#xff0c;顾名思义就是通过各种手段或者技术或者工具保障企业数据的安全性&#xff1b;保障数据信息的硬件、软件及数据受到保护&#xff0c;不受偶然的或者恶意的原因而遭到破坏、更改、泄露&#xff0c;系统连续可靠正常地运行&#xff0c;信息服务不中断。目…

常见的八大排序总结

下面列出了八种常见的排序算法&#xff0c;以及它们的特点以及相同点和不同点&#xff1a; 1. 冒泡排序&#xff08;Bubble Sort&#xff09;&#xff1a; - 特点&#xff1a;通过重复遍历要排序的列表&#xff0c;比较每对相邻的元素&#xff0c;并依次交换顺序&#xff0…

linux tasklet

软中断、tasklet 以及工作队列&#xff0c;均是 linux 中将任务推后执行的机制。其中工作队列与用户态使用的线程池类似。 什么是任务推后执行呢 ? 可以借助于开发应用时经常使用的线程池来理解。任务推后执行&#xff0c;就是任务本该执行的时候没有立即执行&#xff0c;而是…

文档转换失败如何排查?魔众文库系统

如何排查 文档转换失败时&#xff0c;请查看最新的日志文件 storage/logs/laravel-*.log 日志文件中会将执行的命令和命令执行后返回的结果存储到日志中&#xff0c;请参考日志报错信息自行解决。

西圣、漫步者、万魔开放式耳机怎么样?无广真实测评对比推荐

开放式耳机因其独特的音质体验和佩戴舒适度&#xff0c;受到了越来越多消费者的青睐。西圣、漫步者、万魔作为国内知名的耳机品牌&#xff0c;各自都推出了自家的开放式耳机产品&#xff0c;那么&#xff0c;这三款耳机究竟如何呢&#xff1f;身为开放式耳机党的我&#xff0c;…