• 中文文档
  • GUI模板
  • 项目合作
  • 加入会员
  • 登录 注册
    当前位置: PyQt5> QWidget控件基类学习> 控件之间的父子关系和层级关系

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

    2020年11月23日 07:31 128浏览 PyQt5中文网 QWidget控件基类学习

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

    ################################
    # 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_())


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

    标签栏目

  • 文案文案
  • 文案文案
  • 炫酷界面