Qt Designer

Программа Qt Designer включена в PyQT5. Но для ее использования необходимо установить библиотеку pyqt5-tools. Для установки вводим

pip install pyqt5-tools

После это программа должна находиться по адресу (так сказано в описании)

Путь_к_папке_где_установлен_Python\Lib\site-packages\pyqt5_tools\designer.exe

У меня находилась по адресу

Путь_к_папке_где_установлен_Python\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe

На мой взгляд все интуитивно понятно. Привожу пример формы для калькулятора. Слева форма приведена в режиме проектирования. Справа — в режиме исполнения.

Существует два способа подключить интерфейс к основной программе.

1. Использование ui-файла.

Сохраняем в Qt Designer файл, например, с именем ui_exp.ui, и создаем py-файл со следующим содержимым:

import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow

 
class MyWidget(QMainWindow):
    def __init__(self):
        super().__init__()
        uic.loadUi('ui_exp.ui',self)
        self.pushButton.clicked.connect(self.run)
        
    def run(self):
        self.label.setText("OK")
 

app = QApplication(sys.argv)
ex = MyWidget()
ex.show()
sys.exit(app.exec_())

Обращаю внимание, что мы не отслеживали название элементов, поэтому при нажатии на кнопку изменяется текст с Число 1 на Ок.

2. Использование утилиты pyuic5

В командной строке наберите

pyuic5 ui_exp.ui -o ui_exp.py

В результате на основе файла ui_exp.ui будет создан файл ui_exp.py, который подключаем так:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow
from ui_exp import Ui_MainWindow
 

class MyWidget(QMainWindow,Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.pushButton.clicked.connect(self.run)

    def run(self):
        self.label.setText("OK")
 

app = QApplication(sys.argv)
ex = MyWidget()
ex.show()
sys.exit(app.exec_())

Заметим, что предками нашего класса являются QMainWindow и Ui_MainWindow. От первого унаследованы методы, а от второго — дизайн.

Поделиться:
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • Facebook
  • Twitter
  • LiveJournal
  • FriendFeed
  • В закладки Google
  • Google Buzz
  • Яндекс.Закладки
  • StumbleUpon
  • Technorati
  • БобрДобр
  • Memori.ru
  • МоёМесто.ru

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.