4.QObject对象的父子关系

设置父控件的两种方法

from PyQt5.Qt import *

class window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("我的窗口")
        self.resize(500,500)

    def setup_ui(self):
        l = QLabel(self)
        l.move(400,400)
        l.setText("这是一个标签")

if __name__ == '__main__':
    import sys
    App = QApplication(sys.argv)
    win1 = QWidget()
    win1.setStyleSheet("background-color:green;")
    win1.setWindowTitle("窗口标题")
    win1.show()
    win2 = QWidget()
    win2.setStyleSheet("background-color:red;")
    win2.setParent(win1)#第一种设置父控件的方法,显示调用setparent方法
    win2.resize(100,100)
    win2.show()
    labal1 = QLabel(win1)#第一种设置父控件的方法,在创建的时候调用
    labal1.setText("这是一个标签")
    labal1.move(200,200)
    labal1.show()
    sys.exit(App.exec_())

在主窗口中添加两个标签和一个按钮,并将两个标签改成绿色

from PyQt5.Qt import *

class window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("我的窗口")
        self.resize(500,500)

    def setup_ui(self):
        l = QLabel(self)
        l.move(400,400)
        l.setText("这是一个标签")

if __name__ == '__main__':
    import sys
    App = QApplication(sys.argv)

    win = QWidget()
    win.setWindowTitle("我的窗口")
    win.resize(400,400)
    l1 = QLabel(win)
    l1.setText("标签一")
    l2 = QLabel(win)
    l2.move(50,50)
    l2.setText("标签二")
    b1 = QPushButton(win)
    b1.move(100,100)
    b1.setText("按钮一")
    win.show()


    for i in win.findChildren(QLabel):
        print(i)
        i.setStyleSheet("background-color:green;")
        
    sys.exit(App.exec_())

运行结果如下所示:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43328054/article/details/105342013
今日推荐