プラグインをサポートする Python と PyQt4 でプログラムを書いています。プラグインは起動時にロードされ ( を使用__import__
)、要素を UI に追加します (つまり、新しいタブをタブ ウィジェットに追加し、メインクラスのメソッドを公開し、この時点ですべてが機能しています)。私の問題は信号無視です。
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)
# QWidget form contains a QListWidget, so filling it with
# something.
for x in range(0, 100):
self.dsc_ui.list_widget.addItem(str(x))
# This isn't working
self.dsc_ui.list_widget.currentItemChanged.connect(self.show_data)
# This also isn't working
self.dsc_ui.list_widget.itemClicked.connect(self.show_data)
def show_data(self):
print "WUT?"
print の代わりに qDebug も試しましたが、ここでは効果がありません。また、dsc_ui からメイン フォーム スレッドを介してウィジェットを接続しようとしましたが (この名前の子を見つけて関数に接続するメソッドを公開することによって)、これも効果がありませんでした。
この質問はこれと似ていますが、回答に記載されているものはすべて既に試しています。
私が逃した良い方法はありますか?