pyqt5 按钮操作(1)

1.倒入常用架包

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMessageBox, QMenu,QGridLayout,QPushButton
from PyQt5.QtGui import QDesktopServices
from PyQt5.QtCore import QUrl
from functools import partial

2.基本按钮事件

button = QPushButton("按钮内容")#定义按钮
button.setGeometry(QtCore.QRect(70, 80, 81, 41))#设置按钮位置及大小
button.clicked.connect(self.do_button)#def 定义1个函数do_button() 在这里点击调用函数时候函数后面不加括号

3.QAction使用(封装动作)
为了在1个按钮控件上可以点开2个下拉选项 使用QAction添加这两个控件:

 button.menu = QMenu()#定义1个小的下拉菜单栏
 button.simple = QtWidgets.QAction("新建")
 button.hard = QtWidgets.QAction("删除")#定义“”新建“和“删除”两项
 button.menu.addAction(button.simple)
 button.menu.addAction(button.hard)#把两项加入到button中去
 button.setMenu(button.menu)

#这2个选项的点击事件不同于button

#如下
 button.simple.triggered.connect(self.do_button)
button.hard.triggered.connect(self.do_button2)

4.点击按钮传递参数:
在do_button(self) 函数中,我想使用self.sender().text()得到按钮的名称,但是不行,只好退而求其次选择传参的方法来传递,方法如下:

#点击事件
button.simple.triggered.connect(partial(self.buttonClicked,"要传递的参数"))
#事件函数
 def buttonClicked(self, x):
        print(x)

5.点击按钮打开网页链接:

QDesktopServices.openUrl(QUrl("https://www.csdn.net/"))#写到事件函数里面打开csdn首页

你可能感兴趣的:(python)