Как заставить дизайнеры Qt Autosize работать с Pyqt4? - PullRequest
0 голосов
/ 17 ноября 2009

Я пробую простой пример с Qt Designer и Pyqt4, когда я предварительно просматриваю пользовательский интерфейс в Qt Designer (control + R), он выглядит хорошо, но когда я пытаюсь выполнить сгенерированный код пользовательского интерфейса, макеты не работают должным образом и вместо того, чтобы автоматически изменять размеры виджетов, они настолько малы, что их нельзя использовать.

Если я использую фиксированные размеры, это хорошо работает.

Код, используемый для загрузки окна:

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()

И XML-файл Qt Designer для генерации кода пользовательского интерфейса с простым развернутым виджетом:

<?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 голосов
/ 17 ноября 2009

Это длинный план, но это не код, использующий QMainWindow, а описание XML-интерфейса определяет QWidget. Я не уверен, что это проблема, но это не выглядит для меня на 100% правильным.

...