Qt窗体常用属性设置
2023-12-20 07:21:44
01 显示屏尺寸:
QDesktopWidget 获取系统屏幕大小
QDesktopWidget* pDesktopWidget = QApplication::desktop();
//获取可用桌面大小
QRect deskRect = QApplication::desktop()->availableGeometry();
//获取主屏幕分辨率
QRect screenRect = QApplication::desktop()->screenGeometry();
//获取屏幕数量
int nScreenCount = QApplication::desktop()->screenCount();
QDesktopWidget 提供了详细的位置信息,其能够自动返回窗口在用户窗口的位置和应用程序窗口的位置
QScreen* screen = QGuiApplication::primaryScreen();
QRect rectangle = screen->geometry();
Qt5开始,QDesktopWidget官方不建议使用,改为QScreen。
Qt 6.0 及之后版本,QDesktopWidget 已从QtWidgets 模块中被彻底移除。
?Qt5开始,QDesktopWidget官方不建议使用,改为QScreen。
#include<QScreen>
#include<QRect>
//单屏幕
QScreen* screen = QGuiApplication::primaryScreen(); //获取主屏幕
//多屏幕
QList<QScreen *> screenList = QGuiApplication::screens(); //多显示器
QList<QRect *> rectList;
for(int i = 0; i < screenList.size(); i++){
rectList.append(screenList.at(i).geometry()); //分辨率大小
}
如果是多屏幕,其每个屏幕的rect是不一样的,起始坐标不同,第一个屏幕的起始坐标是(0, 0),第二个屏幕的起始坐标是(1920, 0)。
geometry() 与 availableGeometry() 的区别
QScreen* screen = QGuiApplication::primaryScreen();
QRect rect1 = screen->geometry();
qDebug() << "rect1" << rect1.size().width() << rect1.size().height();
qDebug() << rect1.topLeft();
qDebug() << rect1.bottomRight();
QRect rect2 = screen->availableGeometry();
qDebug() << "rect2" << rect2.size().width() << rect2.size().height();
qDebug() << rect2.topLeft();
qDebug() << rect2.bottomRight();
- geometry()返回的是屏幕的大小,即屏幕分辨率大小,包括屏幕下方的工具栏(1090*1080)
- availableGeometry()返回可用屏幕的大小,不包括屏幕下方的工具栏(1090*1040)
02?调整窗口大小和初始位置:
resize方法调整窗口大小,move方法调整窗口初始位置。
void Main_window::setWindowProperty() {
QScreen* screen = QGuiApplication::primaryScreen();
QRect rectangle = screen->geometry();
const int width{rectangle.width()};
const int height{rectangle.height()};
resize(width * 5 / 7, height * 5 / 7);
move(width / 7, height / 7);
}
setFixed***方法设置窗体固定尺寸:?
setFixedHeight(int )
setFixedSize(const QSize&)
setFixedSize(int, int )
setFixedWidth(int )
全屏
全屏显示:
setWindowFlags(Qt::Window);
showFullScreen();
退出全屏:
setWindowFlags(Qt::Widget);
showNormal();
软件打开时QMainWindow设置格式
若窗口打开时太小,则需设置最小宽高进行限制:
showNormal();//正常 showMaximized(); showMinimized(); showFullScreen();
setWindowFlags(Qt::WindowMaximizeButtonHint|Qt::WindowCloseButtonHint|Qt::WindowMinimizeButtonHint);
//setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowSystemMenuHint);
文章来源:https://blog.csdn.net/weiweiqiao/article/details/135081642
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!