Qt 窗口操作函数(置顶、全屏,最大化最小化按钮设置等)
一、窗口置顶 与 取消置顶
void MainWindow::on_windowTopButton_clicked()
{if (m_flags == NULL){m_flags = windowFlags();setWindowFlags(m_flags | Qt::WindowStaysOnTopHint);this->show();}else{m_flags = NULL;setWindowFlags(m_flags);this->show();}
}
二、全屏显示 与 退出全屏
首先,在QT中对于窗口显示常用的有这么几个方法可以调用:
showFullScreen() // Qt全屏显示函数
showMaximized() // Qt最大化显示函数
showMinimized() // Qt最小化显示函数
resize(x, y) // Qt固定尺寸显示函数
setMaximumSize(w, h) // Qt设置最大尺寸函数
setMinimumSize(w, h) // Qt设置最小尺寸函数
但是 showFullScreen()
和 showNormal()
只对顶级窗口有效果,对子窗口无效。要将子窗口全屏显示可用以下方法:
- 将要全屏的 Qt 子窗口调用
setWindowFlags(Qt::Window)
将其类型提升为顶级窗口模式,然后调用showFullScreen()
函数将子窗口全屏显示。 - 当然全屏后还要恢复正常,即调用
setWindowFlags(Qt::subwindow)
将子窗口设置为非顶级窗口,再调用showNormal()
还原子窗口显示。
// 全屏显示:
VideoWidget->setWindowFlags(Qt::Window);
VideoWidget->showFullScreen();// 退出全屏时:
VideoWidget->setWindowFlags(Qt::SubWindow);
VideoWidget->showNormal();
三、窗口的 "最大化\最小化\关闭" 按钮设置
1、在 QDialog 中添加 "最大化" 和 "最小化"按钮
在使用 QDialog 时,默认情况下只有 “这是什么” 和 “关闭” 按钮,但是我们习惯有最大化和最小化按钮。这里介绍如何在该模式下如何设置。
this->setWindowFlags(Qt::Dialog | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint);
其中 WindowMinMaxButtonsHint
设置的就是最大和最小按钮,但是只这样设置,关闭按钮就不可用了,因此需要再添加 WindowCloseButtonHint
一项。
2、只禁止最大化按钮
this->setWindowFlags(windowFlags() &~ Qt::WindowMaximizeButtonHint);
Qt::WindowMaximizeButtonHint
为 WindowType
枚举变量,通过修改它可以选择禁止 "最小化" 或者 "关闭" 按钮。
四、禁止拖动窗口大小
this->setFixedSize(this->width(),this->height());
五、获取屏幕的宽度和高度
QApplication::desktop()->width();
QApplication::desktop()->height();
即得到屏幕分辨率,如 1024*768。
转载于:https://www.cnblogs.com/linuxAndMcu/p/11533636.html
Qt 窗口操作函数(置顶、全屏,最大化最小化按钮设置等)相关推荐
- Qt窗口操作函数(最大化,全屏,隐藏最大化,最小化)
转自:https://blog.csdn.net/pamxy/article/details/9012221 转自:http://blog.csdn.net/zhangshan415/article/ ...
- Q窗口操作函数(窗口最大化,全屏,隐藏最大化最小化按钮)
Qt窗口中的一些小技术总结 //Qt主窗口没有最小化,最大化按钮且最大化显示 int main(int argc, char *argv[]) { QApplication a(argc, argv ...
- Qt 窗口的一些简单设置-标题、图标、最大化最小化按钮、任务栏图标
一些很零散的窗体控制方法,在这总结一些. 1.更改窗体标题 this->setWindowTitle("窗体标题"); 窗体标题"就是更改的窗体标题 2.控制窗体大 ...
- VMWare 全屏后最小化死机
VMWare 全屏后最小化死机 今天在vmware7上安装ubuntu10.10,为编译opendjk做准备.在精简系统的时候,全屏vmware后,在最小化就死机了. 自己都用这个vmware安装了1 ...
- Qt之界面实现技巧——包括任务栏不显示,自定义窗体,最大化最小化按钮等等全面总结
总结一下,在开发Qt的过程中的一些技巧!可遇而不可求... 一.主界面 1.窗口 最小化 最大化 关闭按钮.显示状态自定义 setWindowFlags(Qt::CustomizeWindowHint ...
- WinForm隐藏窗口控制最大化最小化按钮
设置对窗口大小不能调整 找到[FormBorderStyle]选项,在选项列表中选择[FixedDialog],这样就可以固定窗口大小,禁止对窗口的自由调整了. 隐藏窗口的最大化和最小化按钮: 在选项 ...
- 运行python程序的cmd窗口置顶状态和与最小化有什么区别
运行python程序的cmd窗口置顶状态表示该窗口将一直保持在其他窗口的最上面,即使用户在操作其他窗口时也能看到它.而最小化则表示该窗口将被隐藏,用户需要在任务栏中寻找并打开它.
- Qt去掉最大化最小化按钮和最大化
w.setWindowFlags(w.windowFlags()&~Qt::WindowMaximizeButtonHint&~Qt::WindowMinimizeButtonHint ...
- qt widget 最大_Qt窗口操作函数(最大化,全屏,隐藏最大化,最小化)
//Qt主窗口没有最小化,最大化按钮且最大化显示 int main(int argc, char *argv[]) { QApplication a(argc, argv); TestQtForWin ...
最新文章
- 修改sms_def的MOF文件收集网络共享信息
- c#_textbox显示刷新规定行数的数据
- 计算机动画火柴人作业,(Flash期末作品综合实验报告.doc
- 如何用 React Native 创建一个iOS APP?(二)
- 方程组求解matlab实现(朴素高斯求解、LU分解、雅可比迭代方法、高斯-塞德尔方法、连续过松弛(SOR))
- javascript进阶教程第二章对象案例实战
- The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]
- 正则表达式matches_正则表达式在VBA中间是如何应用?正则表达式的实现方式?...
- tomcat配置文件详解
- [翻译]Writing Custom Wizards 编写自定义的向导
- ROS入门(八) make_plan的Server连接
- 4 月 29 日晚 8 点,为你揭秘联邦学习背后数据可用不可见的奥秘
- c语言英美姓名,英美常用人名——C-D
- vmware安装macos
- ArcGIS学习(一)——如何绘制一幅流域图
- python每日一记目标
- 搭建一个网站步骤 制作网页完整步骤
- kubectl自动补全
- 李开复:非一流学校学生的出路-李开复经验集-IT人物-酷勤网
- Xilinx SDx 2018.3安装
热门文章
- JavaScript学习笔记(O)——浏览器内核介绍
- c语言微信协议源码,微信强制加入群软件!易语言协议版,公开源码
- java仿qq_「java qq」仿QQ聊天软件java实现(一) - seo实验室
- 简单记录Java的AES128加密和解密
- 雷达ADS-B信号覆盖评估系统-SRTM高程数据可视化处理
- RealNetworks vs. 微软:早期流媒体行业之争
- leetcode6-zigzag conversion
- SD卡/MMC卡学习视频教程
- Bidirectional Machine Reading Comprehension for Aspect Sentiment Triplet Extraction 论文阅读
- Thinkphp开发的云盘宝网盘赚钱系统源码/仿蓝奏百度网盘限速下载系统/分享赚钱网盘系统