Найти - Пользователи
Полная версия: PyQt4 && Python 2.7, программа с плагинами. UI из плагинов игнорирует сигналы.
Начало » GUI » PyQt4 && Python 2.7, программа с плагинами. UI из плагинов игнорирует сигналы.
1
pztrn
Пишу программу на плагинах, плагин должен подгружать виджет в главное окно (работает с пробросом метода). На этой точке все нормально, плагин даже может заполнить виджеты нужными данными, но игнорирует все сигналы.

from lib.plugin import Plugin
from plugins.dsc.ui import dsc_main
class DSC(Plugin):
    def __init__(self):
        Plugin.__init__(self)
        # Load ui
        self.dsc_widget = QTabWidget()
        self.dsc_ui = dsc_main.Ui_Form()
        self.dsc_ui.setupUi(self.dsc_widget)
        # Add this UI as tab
        self.add_tab("DSC", dsc_icon, self.dsc_ui)
        # QWidget form contains a QListWidget, so filling it with
        # something.
        for x in range(0, 100):
            self.dsc_ui.list_widget.addItem(str(x))
        # Не работает
        self.dsc_ui.list_widget.currentItemChanged.connect(self.show_data)
        # Это тоже не работает
        self.dsc_ui.list_widget.itemClicked.connect(self.show_data)
    def show_data(self):
        print "WUT?"

Сам класс Plugin наследуется от QObject. Пробовал от QObject наследовать DSC, однако релультат идентичный. Пробовал вместо print писать в QLabel, тоже без эффектов.

Что я упустил?
reclosedev
Если DSC - это плагин, то почему он создает новый инстанс dsc_main.Ui_Form()?

Из этого кода ничего не понятно, попробуйте сделать запускаемый пример.
pztrn
reclosedev
Если DSC - это плагин, то почему он создает новый инстанс dsc_main.Ui_Form()?Из этого кода ничего не понятно, попробуйте сделать запускаемый пример.
dsc_main - это интерфейс плагина, который сделан в дизингере (QWidget). Он добавляется в tabWidget как виджет таба. Извиняюсь за недосмотр, сейчас поправлю код.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB