Открытие диалога Quickly с помощью кнопки

Я создал окно, используя диалог быстрого добавления. Но я не могу понять, как просто открыть диалог с помощью кнопки. Я уже настроил кнопку в главном окне и настроил код для нее. Это код кнопки:

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'

Что я делаю не так? Как я могу сделать эту работу?

1
задан 23 June 2013 в 05:49

1 ответ

Вероятно, это:

Сначала вы импортируете QuicksitesDialog:

from brandsonicweb.QuicksitesDialog import QuicksitesDialog

И затем вы пытаетесь вызвать его снова:

dialog = QuicksitesDialog.QuicksitesDialog()

Не глядя на Ваш код, это может быть исправлено двумя способами:

from brandsonicweb.QuicksitesDialog import QuicksitesDialog
dialog = QuicksitesDialog()

Или:

from brandsonicweb import QuicksitesDialog
dialog = QuicksitesDialog.QuicksitesDialog()

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

Также обратите внимание на отличную ошибку Python, которая дает вам хорошее представление.

0
ответ дан 23 June 2013 в 05:49

Другие вопросы по тегам:

Похожие вопросы: