如何使Qt Designer的自适应布局与PyQt4配合工作?
我在用Qt Designer和Pyqt4做一个简单的例子。当我在Qt Designer里预览界面(按控制键加R)时,效果很好。但是当我尝试运行生成的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生成UI代码的xml文件,里面有一个简单的控件被最大化:
<?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
这听起来有点复杂,但我想问的是,代码里用到了QMainWindow和XML的界面描述,这些定义了一个QWidget(窗口部件)。我不太确定这是不是问题所在,但我觉得这样写看起来不是特别对。