PyQt的基本使用

本文介绍了PyQt5中的GUI编程基础知识,包括创建窗口、按钮事件处理、鼠标点击事件以及布局管理。示例代码展示了如何隐藏按钮、响应按钮点击事件以及获取鼠标点击位置。此外,还讲解了布局管理中的空间缩放因子和嵌套布局的使用,如设置控件的尺寸策略和如何在水平布局中嵌套垂直布局。
摘要由CSDN通过智能技术生成

1 简单的工程

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import *
from windowUI import Ui_MainWindow

class Tool(QMainWindow, Ui_MainWindow):
    def __init__(self, *args, **kwargs):
        super(Tool, self).__init__(*args, **kwargs)
        self.setupUi(self)
        self.inintialize()

    def inintialize(self):
        #self.pushButton.hide()
        self.pushButton.clicked.connect(self.EventButtonClicked)
        pass

    def EventButtonClicked(self):
        print("clicked")

    def mousePressEvent(self, event):
        pos = event.pos()
        print(pos.x(), pos.y())


if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = Tool()
    win.show()
    sys.exit(app.exec_())

2 空间的缩放因子

参考这里

在使用布局控件时,里面的控件会跟随发生尺寸的变化,至于是让他们等比例缩放还是让部分控件占满剩余所有控件,就用用到缩放因子的配置。缩放因子是针对 Widget 控件,缩放策略有多种(参考上面的链接),下面示例一种:

obj1.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)

3 布局里嵌套布局

在 Layout 中不能直接嵌套 Layout,需要先将子 Layout 转换为 Widget 再添加到父 Layout 中,如:

vLayout1 = QVBoxLayout()
vLayout2 = QVBoxLayout()
hLayout = QHBoxLayout()

vLayout1.addWidget(button1)
vLayout1.addWidget(button2)
vLayout2.addWidget(button3)
vLayout2.addWidget(button4)

widget1 = QWidget()
widget2 = QWidget()
widget1.setLayout(vLayout1)
widget2.setLayout(vLayout2)

hLayout.addWidget(widget1)
hLayout.addWidget(widget2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值