Python GUI编程网 > QWidget控件基类学习 > 控件之间的父子关系和层级关系
python教程

控件之间的父子关系和层级关系

发布日期:2020年11月23日 07:31
阅读:3302
作者:Python GUI编程网

控件之间的父子关系和层级关系

00:00 / 01:23
1x
2x
1.5x
1.25x
1x
0.8x
0.5x

控件之间的父子关系和层级关系

################################
# PyQt5中文网 - PyQt5全套视频教程 #
#    https://www.PyQt5.cn/     #
#         主讲: 村长            #
################################

'''
同级控件中后创建的控件会覆盖先创建的控件
lower()  将控件放在最底层
raise_()  将控件放到最上层
a.stackUnder(b)  将a放到b的下面
'''

from PyQt5.Qt import *
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("控件层级关系 - PyQt5中文网")
        self.resize(600,500)
        self.func_list()

    def func_list(self):
        self.func()

    def func(self):
        pass

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Window()

    label1 = QLabel(window)
    label1.setText('标签1')
    label1.resize(100,100)
    label1.move(50,50)
    label1.setStyleSheet('background-color:green')

    label2 = QLabel(window)
    label2.setText('标签2')
    label2.resize(100, 100)
    label2.move(80, 80)
    label2.setStyleSheet('background-color:red')


    # label2.lower()
    # label1.raise_()
    label2.stackUnder(label1)

    window.show()
    sys.exit(app.exec_())
'''
childAt(x,y)  获取指定坐标内控件
parentWidget()  获取指定控件的父控件
childrenRect()  获取控件边界
'''

from PyQt5.Qt import *
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("控件父子关系 - PyQt5中文网")
        self.resize(600,500)
        self.func_list()

    def func_list(self):
        self.func()

    def func(self):
        pass

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Window()

    label1 = QLabel(window)
    label1.setText('标签1')

    label2 = QLabel(window)
    label2.setText('标签2')
    label2.move(50, 50)

    label3 = QLabel(window)
    label3.setText('标签3')
    label3.setStyleSheet('background-color:green')
    label3.move(100, 100)

    print(label1)
    print(label2)
    print(label3)
    print('========')
    print(window.childAt(110, 110))
    print('========')
    print(window)
    print(label3.parentWidget())

    print(window.childrenRect())

    window.show()
    sys.exit(app.exec_())


上一篇:
鼠标事件
下一篇:
窗口事件