, więc tworzę prostą aplikację Windows z Python i PyQt4. Zaprojektowałem mój interfejs użytkownika tak, jak tego chcę w QtCreator i utworzyłem niezbędny plik .py z pliku .ui. Kiedy próbuję faktycznie otworzyć instancję okna jednak jestem ze względu na następujący błąd:Wystąpił problem z PyQt4, tworząc prostą aplikację GUI
AttributeError: 'Window' object has no attribute 'setCentralWidget'
Więc wrócić do pliku ui_mainwindow.py i wypowiedzieć się następujący wiersz:
MainWindow.setCentralWidget(self.centralWidget)
Teraz, gdy uruchomię plik main.py, wygeneruje on wystąpienie okna, ale straci on swój układ siatki, a elementy interfejsu użytkownika będą w nim w pewnym stopniu pływać. Masz pojęcie, co robię źle?
Mój plik main.py:
import sys
from PyQt4.QtGui import QApplication
from window import Window
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
i mój plik window.py:
from PyQt4.QtCore import Qt, SIGNAL
from PyQt4.QtGui import *
from ui_mainwindow import Ui_MainWindow
class Window(QWidget, Ui_MainWindow):
def __init__(self, parent = None):
QWidget.__init__(self, parent)
self.setupUi(self)