• 中文文档
  • GUI模板
  • 项目合作
  • 加入会员
  • 登录 注册
    当前位置: PyQt5> QWidget控件基类学习> 控件交互

    控件交互

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

    控件交互

    ################################
    # PyQt5中文网 - PyQt5全套视频教程 #
    #    https://www.PyQt5.cn/     #
    #         主讲: 村长            #
    ################################
    from PyQt5.Qt import *
    import sys
    
    '''
    交互状态:
    1.是否可用:setEnabled(bool)控件是否禁用  isEnable()
    2.是否显示:setVisible(bool)    isVisible()  isVisibleTo()
    3.是否隐藏: setHidden(bool)  show()隐藏  hide()展示  isHidden()
    4.是否编辑: setWindowModified(bool)   isWindowModified()
    5.是否为活跃窗口: isActiveWindow()
    6.关闭: close()
    信息提示: setStatusTip(str)
    
    '''
    class Window(QWidget):
        def paintEvent(self, QPaintEvent):
            print('窗口被绘制')
            return super().paintEvent(QPaintEvent)
    
    class Btn(QPushButton):
        def paintEvent(self, QPaintEvent):
            print('按钮被绘制')
            return super().paintEvent(QPaintEvent)
    
    app = QApplication(sys.argv)
    
    window = Window()
    window.setWindowTitle('控件交互 - PyQt5中文网[*]')
    window.resize(600,450)
    window.move(300,300)
    
    btn = QPushButton(window)
    btn.move(60,60)
    btn.resize(50,35)
    btn.setText('按钮控件')
    # btn.setStyleSheet('background-color:green')
    
    btn1 = Btn(window)
    btn1.move(100,100)
    btn1.resize(50,35)
    btn1.setText('按钮控件')
    # 是否可用
    btn1.setEnabled(False)
    # 是否绘制显示
    # window.show()
    # window.setVisible(True)
    # window.setHidden(True)
    
    btn1.setVisible(True)
    btn1.setHidden(True)
    
    window.setWindowModified(True)  # 现在标题后面设一个 [*] 放在标题任何位置都可以,但是一定要放 *
    
    # print(window.isActiveWindow())
    
    # 窗口关闭,不会会释放对象
    # btn1.setVisible(False)
    # btn1.setHidden(True)
    # btn1.hide()
    
    # 想要释放对象必须组合setAttribute一起使用,可以使用destroyed信号来检测
    btn1.destroyed.connect(lambda :print('按钮被释放'))
    btn1.setAttribute(Qt.WA_DeleteOnClose,True)
    btn1.close()
    
    
    window1 = QMainWindow() # 懒加载窗口控件,只用用到的时候才会加载状态栏
    window1.statusBar() # 触发懒加载
    window1.setStatusTip('这是一个懒加载窗口')
    
    btn2 = QPushButton(window1)
    btn2.setText('按钮2')
    btn2.setStatusTip('按钮22')
    btn2.setToolTip('停留一段时间显示')
    
    window1.show()
    window.show()
    sys.exit(app.exec_())
    
    
    ql2.setFocus()
    ql2.clearFocus()
    
    # TabFocus  只能使用Tab键才能获取焦点
    # ClickFocus  只能使用鼠标点击才能获取焦点
    # StrongFocus 上面两种都行
    # NoFocus  上面两种都不行
    # ql2.setFocusPolicy(Qt.StrongFocus)


    当前位置: 控件交互

    标签栏目

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