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。
Qt 窗口操作函数(置顶、全屏,最大化最小化按钮设置等)的更多相关文章
- Qt窗口操作函数(最大化,全屏,隐藏最大化,最小化)
Qt窗口中的一些小技术总结 //Qt主窗口没有最小化,最大化按钮且最大化显示 int main(int argc, char *argv[]) { QApplication a(argc, argv ...
- Q窗口操作函数(窗口最大化,全屏,隐藏最大化最小化按钮)
//Qt主窗口没有最小化,最大化按钮且最大化显示 int main(int argc, char *argv[]) { QApplication a(argc, argv); TestQtForWi ...
- WPF 最大化最小化窗口
public static void FullOrMin(this Window window) { //如果是全屏,则最小化 if (win ...
- [置顶] IIS应用程序池多工作进程设置及Session共享
[置顶] IIS应用程序池多工作进程设置及Session共享 在调优iis的时候,朋友分享给我一个特别棒的设置方法步骤,感谢好朋友的分享. IIS应用程序池多工作进程设置及Session共享 1 ...
- Windows 系统上用 .NET/C# 查找所有窗口,并获得窗口的标题、位置、尺寸、最小化、可见性等各种状态
原文:Windows 系统上用 .NET/C# 查找所有窗口,并获得窗口的标题.位置.尺寸.最小化.可见性等各种状态 在 Windows 应用开发中,如果需要操作其他的窗口,那么可以使用 EnumWi ...
- Electron 无边框窗口最大化最小化关闭功能
Electron 无边框窗口最大化最小化关闭功能 目的 实现无边框窗口,并添加最大化最小化和关闭功能 前提 了解Electron 主进程和渲染进程的通讯 了解 BrowserWindow相关功能 操作 ...
- c# 窗体相关操作(最大化/最小化/关闭/标题栏)
/// <summary> /// 窗体跟随鼠标移动的标记 /// </summary> private bool normalmoving = false; /// < ...
- C#winform如何主窗口最大化最小化默认大小
this.WindowState = FormWindowState.Minimized; bool b = true; private void button2_Click(object sende ...
- Qt QDialog添加最大化和最小化按钮
Qt QDialog添加最大化和最小化按钮(转载) QDialog窗体右上角默认是没有最小化和最大化按钮的. 1.效果 2.上代码 1 // 设置窗体最大化和最小化 2 Qt::WindowFlags ...
随机推荐
- MySQL分析数据运行状态利器【show full processlist】
原文地址:https://www.cnblogs.com/shihuc/p/8733460.html 今天的主角是: SHOW [FULL] PROCESSLIST show full process ...
- 【机器学习笔记】来吧!解析k-NN
序: 监督型学习与无监督学习,其最主要区别在于:已知的数据里面有没有标签(作为区别数据的内容). 监督学习大概是这个套路: 1.给定很多很多数据(假设2000个图片),并且给每个数据加上标签(与图片一 ...
- Python - 字符串 - 第七天
Python 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号( ' 或 " )来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hel ...
- C# .NET 使用 NPOI 读取 .xlsx 格式 Excel
string filePath = @"C:\Users\yangqinglin\Desktop\test.xlsx"; IWorkbook wk = null; string e ...
- 花了近十年的时间,整理出史上最全面Java面试题
1.String 是最基本的数据类型吗? 不是.Java中的基本数据类型只有8个:byte.short.int.long.float.double.char.boolean:除了基本类型(primit ...
- Java构造函数执行顺序
首先执行基类的构造函数 然后执行派生类的构造函数之外的初始化语句 最后执行派生类的构造函数 在Java中,如果派生类构造函数需要调用基类的构造函数,那么基类构造函数必须作为派生类构造函数的第一句话.在 ...
- Git Error:There is no tracking information for the current branch.
在执行git pull的时候,提示当前branch没有跟踪信息: $> git pull There is no tracking information for the current bra ...
- python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
插图工具使用Python内置的turtle模块,为什么叫这个turtle乌龟这个名字呢,可以这样理解,创建一个乌龟,乌龟能前进.后退.左转.右转,乌龟的尾巴朝下,它移动时就会画一条线.并且为了增加乌龟 ...
- Django类
django 1.中间件 中间件一般做认证或批量请求处理,django中的中间件,其实是一个类,在请求和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法, 如请求过来 执行p ...
- Jenkins参数化构建(七)
一.配置参数化构建过程 主要用来区分分支,使用传参的方式,将分支名称传入脚本中进行拉取代码. 1.1 最常用的是:字符参数.文本参数. 1.2 添加字符参数和文本参数,并配置变量名称 1.3 配置 ...