如何根据信号改变pyqt中重叠部件的可见性



我有多个相同大小重叠的TextBrowser框,我需要在不同的按钮单击上显示不同的TextBrowser。是否有一种方法,我可以改变不同的按钮点击文本浏览器的可见性?请帮帮我。谢谢。

我不确定我是否正确理解你的问题,但下面的例子有帮助吗?

#!/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()

相关内容

  • 没有找到相关文章

最新更新