2012-12-27 23 views
5

पर आधारित pyqt में ओवरलैप्ड विगेट्स की दृश्यता को कैसे बदला जाए मेरे पास एक ही आकार के एकाधिक टेक्स्टब्रोसर बॉक्स ओवरलैप हैं और मुझे अलग-अलग बटन क्लिक पर विभिन्न टेक्स्टब्रोर्स प्रदर्शित करने की आवश्यकता है। क्या कोई तरीका है कि मैं अलग-अलग बटन क्लिक पर टेक्स्टब्रोसर की दृश्यता बदल सकता हूं? कृपया मेरी मदद करो। धन्यवाद।सिग्नल

उत्तर

5

मुझे यकीन नहीं है कि मैं आपके प्रश्न को सही तरीके से समझता हूं, लेकिन क्या निम्न उदाहरण मदद करता है?

#!/usr/bin/python 
#-*- coding:utf-8 -*- 

import sys 
from PyQt4.QtCore import * 
from PyQt4.QtGui import * 

class changeVisibility(QWidget):  
    def __init__(self, parent=None):   
     super(changeVisibility, self).__init__(parent) 

     self.textbrowserA = QTextBrowser() 
     self.textbrowserA.setStyleSheet("background-color:red") 

     self.textbrowserB = QTextBrowser() 
     self.textbrowserB.setStyleSheet("background-color:blue") 


     self.buttonA = QPushButton("Show A") 
     self.buttonB = QPushButton("Show B") 

     self.verticalLayout = QVBoxLayout(self) 

     self.buttonA = QPushButton("Show A") 

     self.verticalLayout.addWidget(self.textbrowserA) 
     self.textbrowserA.show() 
     self.verticalLayout.addWidget(self.textbrowserB) 
     self.textbrowserB.hide() 

     self.verticalLayout.addWidget(self.buttonA) 
     self.verticalLayout.addWidget(self.buttonB) 

     self.buttonA.clicked.connect(self.showA) 
     self.buttonB.clicked.connect(self.showB) 

    def showA(self): 
     self.textbrowserB.hide() 
     self.textbrowserA.show() 

    def showB(self): 
     self.textbrowserA.hide() 
     self.textbrowserB.show() 


def main(): 
    app = QApplication(sys.argv) 
    cV = changeVisibility() 
    cV.show() 
    app.exec_() 


if __name__ == '__main__': 
    main() 
+0

हां बिल्कुल। धन्यवाद – nbbk