2017-06-09 2 views
0
self.pushButton.clicked.connect(self.search) 

def search(self): 
    import subprocess 
    keyword = str(unicode(self.lineEdit.text())) 
    subprocess.call(["some command"]) 
    video_list = [] 
    self.listWidget.clear() 
    video_ret = parse_vid(video_list) 
    self.listWidget.addItems(video_ret) 
    self.listWidget.itemDoubleClicked.connect(self.surf) 

####################################################################### 
def surf(self): 
    print "hello" 

このコードは初めて正常に動作します。しかし、私が2回目の押しボタンをクリックすると、listwidgetで項目をクリックすると、私はサーフメソッドを2回実行します。 3回目の押しボタンをクリックすると、listwidgetをクリックしてサーフメソッドを3回実行します。誰でもこの奇妙な問題に私を助けることができますか?pyqt4のリストウィジェットのアイテムが正しく動作しない

答えて

0

信号を複数のスロットに接続することができます。新しいスロットを追加する検索機能を使用する場合は、一度追加する方が良いでしょう。

self.listWidget.itemDoubleClicked.connect(self.surf) 
    self.pushButton.clicked.connect(self.search) 

def search(self): 
    import subprocess 
    keyword = str(unicode(self.lineEdit.text())) 
    subprocess.call(["some command"]) 
    video_list = [] 
    self.listWidget.clear() 
    video_ret = parse_vid(video_list) 
    self.listWidget.addItems(video_ret) 

####################################################################### 
def surf(self): 
    print("hello") 
+0

thanks @ eyllanesc –

関連する問題