Привет, мир в pyqt?

В настоящее время я использую pycharm для разработки веб-приложения python. Я хочу разработать настольное приложение с платформой QT. Я установил pyqt. Я искал мир привет в pyqt и нашел это:

from PyQt4 import QtGui, QtCore class Window(QtGui.QWidget): def __init__(self): QtGui.QWidget.__init__(self) self.button = QtGui.QPushButton('Test', self) self.button.clicked.connect(self.handleButton) layout = QtGui.QVBoxLayout(self) layout.addWidget(self.button) def handleButton(self): print ('Hello World') if __name__ == '__main__': import sys app = QtGui.QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_()) 

Но я не знаю, где поставить этот код? это мой дизайнер pyqt выглядит так:
введите описание изображения здесь

Можно ли мне сказать, где писать код и как обращаться с кнопкой?

Похоже, что код, который вы опубликовали, был скопирован из моего ответа . Этот код представляет собой простой, написанный вручную пример, который вообще не предполагает использование Qt Designer.

Пример «Hello World» с использованием Qt Designer начнется с файла ui следующим образом:

 <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>Window</class> <widget class="QWidget" name="Window"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>171</width> <height>61</height> </rect> </property> <property name="windowTitle"> <string>Hello World</string> </property> <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="QPushButton" name="button"> <property name="text"> <string>Test</string> </property> </widget> </item> </layout> </widget> <resources/> <connections/> </ui> 

Этот файл можно сохранить как helloworld.ui и открыть в Qt Designer.

Первое, что нужно знать о Qt Designer, заключается в том, что оно не является IDE – оно используется только для проектирования графического интерфейса, а не для основной программной логики. Логика программы записывается отдельно и затем подключается к графическому интерфейсу.

Есть два способа сделать это. Первый – загрузить файл ui напрямую, используя модуль uic :

 import sys, os from PyQt4 import QtGui, QtCore, uic DIRPATH = os.path.join(os.path.dirname(os.path.abspath(__file__))) class Window(QtGui.QWidget): def __init__(self): QtGui.QWidget.__init__(self) uic.loadUi(os.path.join(DIRPATH, 'helloworld.ui'), self) self.button.clicked.connect(self.handleButton) def handleButton(self): print('Hello World') if __name__ == '__main__': app = QtGui.QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_()) 

Это вставляет GUI в локальный класс Window , который является подклассом, соответствующим классу GUI верхнего уровня из Qt Designer (который в этом случае также называется «Window», но может быть любым, что вам нравится). Другие виджеты GUI становятся атрибутами подкласса, поэтому QPushButton доступен как self.button .

Другим способом подключения GUI с логикой программы является использование инструмента pyuic для создания модуля python из файла ui :

 pyuic4 --output=helloworld.py helloworld.ui 

которые затем могут быть импортированы в основное приложение:

 import sys from PyQt4 import QtGui, QtCore from helloworld import Ui_Window class Window(QtGui.QWidget, Ui_Window): def __init__(self): QtGui.QWidget.__init__(self) self.setupUi(self) self.button.clicked.connect(self.handleButton) def handleButton(self): print('Hello World') if __name__ == '__main__': app = QtGui.QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_()) 

Метод setupUi наследуется от сгенерированного класса Ui_Window и делает то же самое, что и uic.loadUi .