2017-10-03 10 views
0

私はこのトピックについて検索し、QWidgetのクリック可能にする方法をいくつかの例を見つけることが、ちょうど私は必要なものを、この1つの 輸入SYSQTabWidgetをクリック可能にするには?

from PyQt4.QtGui import QWidget, QApplication 

class MyWidget(QWidget): 
    def mousePressEvent(self, event): 
     print "clicked" 

app = QApplication(sys.argv) 

widget = MyWidget() 
widget.show() 

app.exec_() 

のようなテキストを印刷することは、それはQTabWidgetのクリッカブル目にすることが可能であるとするとき、クリックその上にたとえば、ファイルを開くためにボタンのように使用できますか?あなたは何をすべき

+0

私は解決策を見つけるが、私は私が欲しいものを得るために多くのテストが必要: – seghier

答えて

0

は、以下に示すように、信号と出力、それを作成することです:

class ClickableQTabWidget(QTabWidget): 
    clicked = pyqtSignal() 
    def mousePressEvent(self, event): 
     self.clicked.emit() 

class Widget(QWidget): 
    def __init__(self, parent=None): 
     QWidget.__init__(self, parent) 
     self.setLayout(QVBoxLayout()) 
     self.cw = ClickableQTabWidget(self) 
     self.layout().addWidget(self.cw) 
     self.cw.clicked.connect(self.onClicked) 

    def onClicked(self): 
     print("clicked") 

app = QApplication(sys.argv) 

widget = Widget() 
widget.show() 

app.exec_() 
+0

感謝のeyllanesc。私はあなたのことを試してみます – seghier

+0

@seghierもしあなたのために働く場合は、それを正しいものとしてマークしてください。 – eyllanesc

+0

はい、私は2つの単純な行で見つけた解決策として動作します:self.tabWidget.mousePressEvent = self.tabOpen1とdef tabOpen1(self、event):self.folder_open.toggle();この方法で、私がtabwidgetをクリックすると、ボタンがトグルされ、開いている/リストウィンドウが開きます。 – seghier

関連する問題