Qt窗口的设计时间和运行时间不同

时间:2019-10-28 07:43:10

标签: macos qt qt-designer qwidget qformlayout

我是Qt的新手,我设计了一个Qt窗口,其设计时间为:

enter image description here

运行时间为:

enter image description here

为什么它们不同(大小)?

这是我的用户界面:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>400</width>
    <height>300</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralWidget"/>
  <widget class="QMenuBar" name="menuBar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>400</width>
     <height>22</height>
    </rect>
   </property>
  </widget>
  <widget class="QToolBar" name="mainToolBar">
   <attribute name="toolBarArea">
    <enum>TopToolBarArea</enum>
   </attribute>
   <attribute name="toolBarBreak">
    <bool>false</bool>
   </attribute>
  </widget>
  <widget class="QStatusBar" name="statusBar"/>
 </widget>
 <layoutdefault spacing="6" margin="11"/>
 <resources/>
 <connections/>
</ui>

1 个答案:

答案 0 :(得分:1)

该屏幕截图似乎与.ui文件代码不匹配。该代码不包含任何 QLabel QLineEdit ,而屏幕截图显示了这两个小部件。您确定文件正确吗?

没有实际的代码,很难确定您要使用这两个小部件使用哪个QLayout(如果有)。如果您使用的是 QFormLayout ,请注意它的设计符合平台的特定外观和感觉准则(有关Qt文档here的更多信息。

如果不考虑平台指南,而强加布局(例如,左对齐标签),则可以使用 QGridLayout 之类的较低杠杆解决方案。这意味着您将失去QFormLayout提供的更高级别的优势,但是它将完全控制您。

我还建议不要破坏平台的外观和感觉准则:如果您想要本机的外观和感觉,则应尽可能遵守这些规则。否则,您的应用程序将看起来根本不是本地的。