我是Qt的新手,我设计了一个Qt窗口,其设计时间为:
运行时间为:
为什么它们不同(大小)?
这是我的用户界面:
<?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>
答案 0 :(得分:1)
该屏幕截图似乎与.ui文件代码不匹配。该代码不包含任何 QLabel 或 QLineEdit ,而屏幕截图显示了这两个小部件。您确定文件正确吗?
没有实际的代码,很难确定您要使用这两个小部件使用哪个QLayout(如果有)。如果您使用的是 QFormLayout ,请注意它的设计符合平台的特定外观和感觉准则(有关Qt文档here的更多信息。
如果不考虑平台指南,而强加布局(例如,左对齐标签),则可以使用 QGridLayout 之类的较低杠杆解决方案。这意味着您将失去QFormLayout提供的更高级别的优势,但是它将完全控制您。
我还建议不要破坏平台的外观和感觉准则:如果您想要本机的外观和感觉,则应尽可能遵守这些规则。否则,您的应用程序将看起来根本不是本地的。