【问题标题】:Qt change MainWindow geometryQt 改变 MainWindow 几何
【发布时间】:2013-08-27 21:31:54
【问题描述】:

我想更改主窗口的大小。如果我将主窗口的几何形状更改为例如 947 x 504,它仍然更小。即使我再改几次,保存ui数据文件,也不会改。我正在使用 Qt 5.1.0。

来自 ma​​inwindow.ui

的 XML 代码
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="enabled">
   <bool>true</bool>
  </property>
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>947</width>
    <height>504</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>SpeedReader [BETA]</string>
  </property>
  <widget class="QWidget" name="centralWidget"/>
  <widget class="QMenuBar" name="menuBar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>947</width>
     <height>21</height>
    </rect>
   </property>

【问题讨论】:

  • 为什么要手动编辑代码?使用 Qt 设计器
  • 我也用 Qt 设计器试了一下。这两种方式都不起作用。
  • 我不知道QMainWindow,但对于QWidgets,设置宽度和高度就足够了。但是如果你不希望你的窗口小于这个值,你可以尝试将minimumSize' and sizePolicy` 设置为MinimumMinimumExpanding

标签: c++ qt size geometry frame


【解决方案1】:

您可以使用 resize() 函数。例如,假设您想在应用程序启动时将 1280x1024 分辨率应用到主窗口。你可以这样做:

int main( int argc, char **argv )
{
  QApplication app( argc, argv );  
  MainWindow w;
  w.resize(1280, 1024);
  w.show();  
  return app.exec();
}

【讨论】:

  • 你知道我可以如何阻止用户调整MainWindow 的大小吗?类似setResizeable(false)
  • 从未尝试过,但你可以看看这里:stackoverflow.com/questions/16673074/…希望它有所帮助。
猜你喜欢
  • 1970-01-01
  • 2015-06-26
  • 1970-01-01
  • 1970-01-01
  • 2018-06-09
  • 1970-01-01
  • 2019-05-10
  • 2021-12-23
  • 1970-01-01
相关资源
最近更新 更多