如何让Qt Designers自动调整布局与Pyqt4一起使用?

时间:2009-11-17 09:01:43

标签: python qt pyqt designer pyqt4

我正在尝试使用Qt Designer和Pyqt4的简单示例,当我在Qt Designer(control + R)中预览UI时看起来不错,但是当我尝试执行生成的UI代码时,布局无法正常工作而不是自动调整窗口小部件的最大值,它们非常小,无法使用。

如果我使用固定尺寸,它效果很好。

用于加载窗口的代码是:

import sys

from PyQt4 import QtCore, QtGui

from table import Ui_table

class Main(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)

        self.ui = Ui_table()
        self.ui.setupUi(self)

def main():
    app = QtGui.QApplication(sys.argv)
    window=Main()
    window.show()

    sys.exit(app.exec_())

if __name__ == "__main__":
    main()

用Qt Designer xml文件生成ui代码,并使用一个简单的小部件最大化:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>table</class>
 <widget class="QWidget" name="table">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>457</width>
    <height>422</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Form</string>
  </property>
  <layout class="QVBoxLayout" name="verticalLayout">
   <item>
    <widget class="QTreeWidget" name="list">
     <column>
      <property name="text">
       <string>name</string>
      </property>
     </column>
    </widget>
   </item>
  </layout>
 </widget>
 <resources/>
 <connections/>
</ui>

有什么建议吗?

操作系统:Windows XP
Python:Python 2.6.3
PyQt4:4.6.1

1 个答案:

答案 0 :(得分:0)

这是一个很长的镜头,但不是使用QMainWindow的代码,XML ui-descripting定义了一个QWidget。我不确定这是不是问题,但对我来说看起来并不正确。