我想在按下按钮后跟踪按下了哪个按钮。
将此值保存在变量中,并将变量的值输出到方法click()。
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import *
class Ui_Window1(object):
def setupUi(self, Window1):
Window1.setObjectName('Window1')
Window1.resize(450, 800)
self.Main1 = QtWidgets.QWidget(Window1)
self.Main1.setObjectName('Main1')
self.font1 = self.create_style('Bahnschrift SemiBold', 9, True)
self.button_1 = self.create_widget(30, 235, 390, 60, self.font1, '#4c5359', '#363940', '#ffffff', '2', '30', 'button 1')
self.button_2 = self.create_widget(30, 325, 390, 60, self.font1, '#4c5359', '#363940', '#ffffff', '2', '30', 'button 2')
self.button_3 = self.create_widget(30, 415, 390, 60, self.font1, '#4c5359', '#363940', '#ffffff', '2', '30', 'button 3')
self.button_4 = self.create_widget(30, 505, 390, 60, self.font1, '#4c5359', '#363940', '#ffffff', '2', '30', 'button 4')
self.button_1.clicked.connect(self.click)
self.button_2.clicked.connect(self.click)
self.button_3.clicked.connect(self.click)
self.button_4.clicked.connect(self.click)
self.check = QButtonGroup()
self.check.setExclusive(True)
self.check.addButton(self.button_1)
self.check.addButton(self.button_2)
self.check.addButton(self.button_3)
self.check.addButton(self.button_4)
self.check.buttonClicked.connect(self.press)
Window1.setCentralWidget(self.Main1)
QtCore.QMetaObject.connectSlotsByName(Window1)
def press(self, but):
if but == self.button_1:
self.but_check = 'button_1'
elif but == self.button_2:
self.but_check = 'button_2'
elif but == self.button_3:
self.but_check = 'button_3'
elif but == self.button_4:
self.but_check = 'button_4'
return self.but_check
def click(self):
print(self.but_check)
def create_style(self, text, size, boole):
self.name = QtGui.QFont()
self.name.setFamily(text)
self.name.setPointSize(size)
self.name.setBold(boole)
return self.name
def create_widget(self, x, y, w, h, font, HEX1, HEX2, HEX3, d, r, text):
self.name = QtWidgets.QPushButton(self.Main1)
self.name.setGeometry(QtCore.QRect(x, y, w, h))
self.name.setFont(font)
self.name.setStyleSheet('background-color: ' + HEX1 + '; border :' + d + 'px solid' + HEX2 + '; border-radius :' + r + '; color: ' + HEX3)
self.name.setText(text)
self.name.show()
return self.name
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
Window1 = QtWidgets.QMainWindow()
ui = Ui_Window1()
ui.setupUi(Window1)
Window1.show()
sys.exit(app.exec_())
您的任务应如下所示: