Я создал окно, используя диалог быстрого добавления. Но я не могу понять, как просто открыть диалог с помощью кнопки. Я уже настроил кнопку в главном окне и настроил код для нее. Это код кнопки:
def on_quicksitesbutton_clicked(self, widget):
dialog = QuicksitesDialog.QuicksitesDialog()
result = dialog.run()
Я также импортировал диалог с этой строкой кода:
from brandsonicweb.QuicksitesDialog import QuicksitesDialog
Программа работает нормально, но когда я нажимаю кнопку, я получаю в терминале:
Traceback (most recent call last):
File "/home/brandon/brandsonicweb/brandsonicweb/BrandsonicwebWindow.py", line 71, in on_quicksitesbutton_clicked
dialog = QuicksitesDialog.QuicksitesDialog()
AttributeError: type object 'QuicksitesDialog' has no attribute 'QuicksitesDialog'
Что я делаю не так? Как я могу сделать эту работу?
Вероятно, это:
Сначала вы импортируете QuicksitesDialog
:
from brandsonicweb.QuicksitesDialog import QuicksitesDialog
И затем вы пытаетесь вызвать его снова:
dialog = QuicksitesDialog.QuicksitesDialog()
Не глядя на Ваш код, это может быть исправлено двумя способами:
from brandsonicweb.QuicksitesDialog import QuicksitesDialog
dialog = QuicksitesDialog()
Или:
from brandsonicweb import QuicksitesDialog
dialog = QuicksitesDialog.QuicksitesDialog()
Это может быть немного запутанным, потому что очевидно, что модуль и класс быстро дают одно и то же имя.
Также обратите внимание на отличную ошибку Python, которая дает вам хорошее представление.