Как использовать Pygubu - Python - PullRequest
       44

Как использовать Pygubu - Python

1 голос
/ 03 апреля 2020

Я пытаюсь использовать Pygubu с первого раза, чтобы улучшить GUI. Я установил его с помощью pip, и он был установлен правильно. Однако, когда я пытаюсь запустить пример кода Здесь (внизу веб-страницы) Я получаю ошибку

AttributeError: модуль 'pygubu' не имеет атрибута 'Builder'

Я не знаю, правильный ли этот код или нет. Я искал способы использовать этот инструмент, но все, что я могу найти, это ссылки и видео для его установки. Я также пытался Это видео , но не могу понять, как открыть / запустить / использовать. Я использую python -idle, если это проблема. Код (если вы не хотите переходить по ссылке):

# helloworld.py
import tkinter as tk
import pygubu


class HelloWorldApp:

    def __init__(self):

        #1: Create a builder
        self.builder = builder = pygubu.Builder()

        #2: Load an ui file
        builder.add_from_file('helloworld.ui')

        #3: Create the mainwindow
        self.mainwindow = builder.get_object('mainwindow')

    def run(self):
        self.mainwindow.mainloop()


if __name__ == '__main__':
    app = HelloWorldApp()
    app.run()

Буду признателен за любую помощь. Также, когда я пытаюсь установить его снова - просто чтобы проверить - я получаю:

My cmd

1 Ответ

0 голосов
/ 04 апреля 2020

Pygubu это приложение. Найдите его в файлах с C: диск. Код:

# helloworld.py
import tkinter as tk
import pygubu


class HelloWorldApp:

    def __init__(self):

        #1: Create a builder
        self.builder = builder = pygubu.Builder()

        #2: Load an ui file
        builder.add_from_file('helloworld.ui')

        #3: Create the mainwindow
        self.mainwindow = builder.get_object('mainwindow')

    def run(self):
        self.mainwindow.mainloop()


if __name__ == '__main__':
    app = HelloWorldApp()
    app.run()

Запускается после того, как вы создали свой пользовательский интерфейс (формат, используемый этим приложением), а имя указанного пользовательского интерфейса - helloworld.ui.

Обратите внимание, что вместо helloworld.ui в следующей строке:

builder.add_from_file ('helloworld.ui') Вы должны вставить имя файла (или путь) только что сохраненного вами определения пользовательского интерфейса.

Также обратите внимание, что вместо 'mainwindow' в следующей строке:

self.mainwindow = builder.get_object ('mainwindow') У вас должно быть имя вашего основного виджета (родителя всех виджетов), иначе вы получит ошибку, подобную следующей:

Исключение: виджет не определен.

Эта ссылка объясняет использование лучше, чем указано в вопросе

...