目录
下面代码演示如何设置3个RadioButton按钮的clicked()信号与同一个槽函数关联。
定义新的do_setTextColor()函数
完整代码:注意除了添加了一个函数,也在def __init__(self, parent=None)下面加了3行代码。
import sys
from PyQt6.QtWidgets import QApplication, QDialog
from PyQt6.QtCore import Qt, pyqtSlot
from PyQt6.QtGui import QPalette
from ui_Dialog import Ui_Dialog
class QmyDialog(QDialog):
def __init__(self, parent=None):
super().__init__(parent)
self.__ui = Ui_Dialog()
self.__ui.setupUi(self)
self.__ui.radioButton.clicked.connect(self.do_setTextColor)
self.__ui.radioButton_2.clicked.connect(self.do_setTextColor)
self.__ui.radioButton_3.clicked.connect(self.do_setTextColor)
def do_setTextColor(self):
plet = self.__ui.plainTextEdit.palette()
if self.__ui.radioButton.isChecked():
plet.setColor(QPalette.ColorGroup.Active, QPalette.ColorRole.Text, Qt.GlobalColor.black)
elif self.__ui.radioButton_2.isChecked():
plet.setColor(QPalette.ColorGroup.Active, QPalette.ColorRole.Text, Qt.GlobalColor.red)
elif self.__ui.radioButton_3.isChecked():
plet.setColor(QPalette.ColorGroup.Active, QPalette.ColorRole.Text, Qt.GlobalColor.blue)
self.__ui.plainTextEdit.setPalette(plet)
def on_checkBox_3_toggled(self, checked):
font = self.__ui.plainTextEdit.font()
# 参数checked表示勾选状态
font.setBold(checked)
self.__ui.plainTextEdit.setFont(font)
def on_checkBox_clicked(self):
checked = self