当前位置:   article > 正文

Qt如何使窗口位于中间_qt窗口移动到屏幕中心

qt窗口移动到屏幕中心
  1. 监听窗口的大小变化事件,并在窗口大小变化时重新计算窗口的位置。
  2. 可以通过重写QMainWindow的resizeEvent函数来监听窗口的大小变化事件,并在事件发生时重新计算窗口的位置。
  3. cpp
  4. #include <QApplication>
  5. #include <QDesktopWidget>
  6. #include <QMainWindow>
  7. #include <QResizeEvent>
  8. class MyMainWindow : public QMainWindow
  9. {
  10. public:
  11. MyMainWindow(QWidget *parent = nullptr) : QMainWindow(parent)
  12. {
  13. resize(400, 300);
  14. }
  15. protected:
  16. void resizeEvent(QResizeEvent *event) override
  17. {
  18. QMainWindow::resizeEvent(event);
  19. QDesktopWidget desktop;
  20. int screenWidth = desktop.screen()->width();
  21. int screenHeight = desktop.screen()->height();
  22. int windowWidth = width();
  23. int windowHeight = height();
  24. int x = (screenWidth - windowWidth) / 2;
  25. int y = (screenHeight - windowHeight) / 2;
  26. move(x, y);
  27. }
  28. };
  29. int main(int argc, char *argv[])
  30. {
  31. QApplication app(argc, argv);
  32. MyMainWindow window;
  33. window.show();
  34. return app.exec();
  35. }
  36. 这样,无论窗口是初始状态还是缩小后,都会保持在屏幕的中间位置。

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

闽ICP备14008679号