当前位置:   article > 正文

Qt窗体、控件常用属性设置_qt 界体置前属性

qt 界体置前属性

01 显示屏尺寸:

QDesktopWidget 获取系统屏幕大小

  1. QDesktopWidget* pDesktopWidget = QApplication::desktop();
  2. //获取可用桌面大小
  3. QRect deskRect = QApplication::desktop()->availableGeometry();
  4. //获取主屏幕分辨率
  5. QRect screenRect = QApplication::desktop()->screenGeometry();
  6. //获取屏幕数量
  7. int nScreenCount = QApplication::desktop()->screenCount();

QDesktopWidget 提供了详细的位置信息,其能够自动返回窗口在用户窗口的位置和应用程序窗口的位置

  1. QScreen* screen = QGuiApplication::primaryScreen();
  2. QRect rectangle = screen->geometry();

Qt5开始,QDesktopWidget官方不建议使用,改为QScreen。
Qt 6.0 及之后版本,QDesktopWidget 已从QtWidgets 模块中被彻底移除。

 Qt5开始,QDesktopWidget官方不建议使用,改为QScreen。

  1. #include<QScreen>
  2. #include<QRect>
  3. //单屏幕
  4. QScreen* screen = QGuiApplication::primaryScreen(); //获取主屏幕
  5. //多屏幕
  6. QList<QScreen *> screenList = QGuiApplication::screens(); //多显示器
  7. QList<QRect *> rectList;
  8. for(int i = 0; i < screenList.size(); i++){
  9. rectList.append(screenList.at(i).geometry()); //分辨率大小
  10. }

如果是多屏幕,其每个屏幕的rect是不一样的,起始坐标不同,第一个屏幕的起始坐标是(0, 0),第二个屏幕的起始坐标是(1920, 0)。

geometry() 与 availableGeometry() 的区别

  1. QScreen* screen = QGuiApplication::primaryScreen();
  2. QRect rect1 = screen->geometry();
  3. qDebug() << "rect1" << rect1.size().width() << rect1.size().height();
  4. qDebug() << rect1.topLeft();
  5. qDebug() << rect1.bottomRight();
  6. QRect rect2 = screen->availableGeometry();
  7. qDebug() << "rect2" << rect2.size().width() << rect2.size().height();
  8. qDebug() << rect2.topLeft();
  9. qDebug() << rect2.bottomRight();
  • geometry()返回的是屏幕的大小,即屏幕分辨率大小,包括屏幕下方的工具栏(1090*1080)
  • availableGeometry()返回可用屏幕的大小,不包括屏幕下方的工具栏(1090*1040)

02 调整窗口大小和初始位置:

resize方法调整窗口大小,move方法调整窗口初始位置。

  1. void Main_window::setWindowProperty() {
  2. QScreen* screen = QGuiApplication::primaryScreen();
  3. QRect rectangle = screen->geometry();
  4. const int width{rectangle.width()};
  5. const int height{rectangle.height()};
  6. resize(width * 5 / 7, height * 5 / 7);
  7. move(width / 7, height / 7);
  8. }

setFixed***方法设置窗体固定尺寸: 

  1. setFixedHeight(int )
  2. setFixedSize(const QSize&)
  3. setFixedSize(int, int )
  4. setFixedWidth(int )

全屏

全屏显示:

  1. setWindowFlags(Qt::Window);
  2. showFullScreen();

退出全屏:

  1. setWindowFlags(Qt::Widget);
  2. showNormal();

软件打开时QMainWindow设置格式

若窗口打开时太小,则需设置最小宽高进行限制:

  1. showNormal();//正常 showMaximized(); showMinimized(); showFullScreen();
  2. setWindowFlags(Qt::WindowMaximizeButtonHint|Qt::WindowCloseButtonHint|Qt::WindowMinimizeButtonHint);
  3. //setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowSystemMenuHint);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/561496
推荐阅读
相关标签
  

闽ICP备14008679号