Поиск…


замечания

PyQt - это привязка Python к популярной межплатформенной платформе приложений Qt, обычно используемой для создания графических приложений. PyQt4 поддерживает Qt4, а PyQt5 поддерживает Qt5. Он работает на всех платформах, поддерживаемых Qt (Windows, OS X, Linux, iOS и Android). Связи реализуются как набор модулей и классов Python.

Для получения дополнительной информации см. Веб-сайт PyQt .

Установка PyQt4

Предлагаемый способ установки

Windows : загрузите и запустите файл двоичной установки .

Linux (Debian) : запустите эту команду в командной строке:

$ apt-get install python-qt4 pyqt4-dev-tools qt4-designer

OS X : запустите эту команду в командной строке:

$ brew install pyqt

Установить вручную

Вы также можете загрузить исходный код вручную здесь , а затем установить и настроить его самостоятельно.

Проверьте свою установку

Если pyqt установлен правильно, вы сможете запустить команду pyuic4 . Если он установлен правильно, вы увидите следующую ошибку:

$ pyuic4 
Error: one input ui-file must be specified

Установка завершена

Теперь вы установили библиотеку PyQt4. Также рядом с PyQt4 были установлены два полезных приложения:

  • Qt Designer: приложение для дизайна «drag & drop» графических интерфейсов (создает файлы .ui )
  • pyuic4: приложение командной строки, которое может конвертировать файлы .ui в код Python.

Основное приложение

В следующем примере показано основное основное окно графического интерфейса пользователя с виджлетом метки, панелью инструментов и панель состояния с использованием PyQt4.

import sys
from PyQt4 import QtGui


class App(QtGui.QApplication):
    def __init__(self, sys_argv):
        super(App, self).__init__(sys_argv)
        self.build_ui()

    def build_ui(self):
        # build a main GUI window
        self.main_window = QtGui.QMainWindow()
        self.main_window.setWindowTitle('App')
        self.main_window.show()

        # add a label to the main window
        label = QtGui.QLabel('Label')
        self.main_window.setCentralWidget(label)

        # add a toolbar with an action button to the main window
        action = QtGui.QAction('Toolbar action', self)
        toolbar = QtGui.QToolBar()
        toolbar.addAction(action)
        self.main_window.addToolBar(toolbar)

        # add a status bar to the main window
        status_bar = QtGui.QStatusBar()
        status_bar.showMessage('Status bar')
        self.main_window.setStatusBar(status_bar)


if __name__ == '__main__':
    app = App(sys.argv)
    sys.exit(app.exec_())

Привет, мир

Этот базовый код запустит окно «Привет мир» с помощью PyQt4:

import sys
from PyQt4 import QtGui

# create instance of QApplication
app = QtGui.QApplication(sys.argv)

# create QLabel, without parent it will be shown as window
label = QtGui.QLabel('Hello world!')
label.show()

# start the execution loop of the application
sys.exit(app.exec_())

Это тот же код с использованием PyQt5.

import sys
from PyQt5 import QtWidgets

# create instance of QApplication    
app = QtWidgets.QApplication(sys.argv)

# create QLabel, without parent it will be shown as window
label = QtWidgets.QLabel('Hello world!')
label.show()

# start the execution loop of the application
sys.exit(app.exec_())

Простой пример перетаскивания

Сделайте простое графическое приложение за 3 простых шага.

1. Дизайн

Откройте Qt Creator , создайте новый проект и создайте свой дизайн. Сохраните результат как .ui файл (здесь: mainwindow.ui ).

Пример виджета

2. Создайте соответствующий файл .py

Теперь вы можете создать файл .py из вашего .ui-файла, который вы создали на предыдущем шаге. Введите в командной строке следующее:

$ pyuic4 mainwindow.ui -o GUI.py

Если вышеприведенная строка успешно GUI.py файл GUI.py

3. Коды Python

Вы можете добавить свой собственный код (например, сигналы и слоты) в файл GUI.py но лучше добавить их в новый файл. Если вы хотите внести изменения в свой графический интерфейс, файл GUI.py будет перезаписан. Поэтому в большинстве случаев лучше использовать другой файл для добавления функциональности.

Назовем новый файл main.py

from PyQt4 import QtGui
import sys
import GUI # Your generated .py file


class MyApp(QtGui.QMainWindow, GUI.Ui_MainWindow):
    def __init__(self, parent=None):
        super(ExampleApp, self).__init__(parent)
        self.setupUi(self)

        # Connect a button to a function
        self.btn_run.clicked.connect(self.run)

    def run(self):
        # Write here what happens after the button press
        print("run")


if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    form = ExampleApp()
    form.show()
    app.exec_()

Теперь вы можете запустить main.py и посмотреть свой графический интерфейс.

Выход



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow