PyQt5 – 为单选按钮添加动作

yizhihongxing

下面是Python的“PyQt5 - 为单选按钮添加动作”的完整使用攻略。

1. 安装PyQt5

在使用PyQt5之前,我们需要先安装它。可以通过pip来安装:

pip install PyQt5

2. 创建单选按钮

首先,我们需要在GUI程序中创建一个单选按钮。可以使用QRadioButton

from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton

app = QApplication([])
win = QWidget()

rb1 = QRadioButton('Option 1', win)
rb2 = QRadioButton('Option 2', win)

win.setGeometry(100, 100, 300, 200)
win.show()
app.exec_()

在以上示例中,我们创建了两个单选按钮rb1rb2,并将它们添加到了窗口win中。

3. 添加动作

现在我们需要为单选按钮添加动作。可以通过toggle信号来实现。

from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton

app = QApplication([])
win = QWidget()

rb1 = QRadioButton('Option 1', win)
rb2 = QRadioButton('Option 2', win)

def on_radio_button_toggled():
    print('Option 1:', rb1.isChecked())
    print('Option 2:', rb2.isChecked())

rb1.toggled.connect(on_radio_button_toggled)
rb2.toggled.connect(on_radio_button_toggled)

win.setGeometry(100, 100, 300, 200)
win.show()
app.exec_()

在以上示例中,我们定义了一个on_radio_button_toggled函数来处理单选按钮的toggle信号。函数中使用isChecked方法来检查单选按钮的选中状态,并输出结果。

然后,我们将on_radio_button_toggled函数与两个单选按钮的toggle信号连接起来,这样当单选按钮的状态发生改变时,就会自动执行定义的函数。

示例1

现在,我们来看一个更加实际的示例:根据选中的单选按钮,改变窗口背景颜色。

from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton

app = QApplication([])
win = QWidget()

rb1 = QRadioButton('Red', win)
rb2 = QRadioButton('Green', win)

def on_radio_button_toggled():
    if rb1.isChecked():
        win.setStyleSheet("background-color: red;")
    elif rb2.isChecked():
        win.setStyleSheet("background-color: green;")

rb1.toggled.connect(on_radio_button_toggled)
rb2.toggled.connect(on_radio_button_toggled)

win.setGeometry(100, 100, 300, 200)
win.show()
app.exec_()

在以上示例中,我们创建了两个单选按钮rb1rb2,一个on_radio_button_toggled函数来处理单选按钮的toggle信号,使用setStyleSheet方法来改变窗口的背景颜色。

示例2

我们还可以将单选按钮放在一个按钮组中,并在其中选中一个时取消其他单选按钮的选中状态。

from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton, QButtonGroup, QVBoxLayout

app = QApplication([])
win = QWidget()

rb1 = QRadioButton('Option 1', win)
rb2 = QRadioButton('Option 2', win)
rb3 = QRadioButton('Option 3', win)

group = QButtonGroup()
group.addButton(rb1, 1)
group.addButton(rb2, 2)
group.addButton(rb3, 3)
group.buttonClicked.connect(lambda: print(group.checkedId()))

vbox = QVBoxLayout()
vbox.addWidget(rb1)
vbox.addWidget(rb2)
vbox.addWidget(rb3)
win.setLayout(vbox)

win.setGeometry(100, 100, 300, 200)
win.show()
app.exec_()

在以上示例中,我们创建了三个单选按钮rb1rb2rb3,并将它们添加到了一个垂直布局中。然后我们创建了一个按钮组group,并将三个单选按钮添加到其中。

然后我们定义了一个Lambda函数来处理按钮组的buttonClicked信号。这个函数使用checkedId方法来查找选中的单选按钮的ID,并输出结果。

最后,我们将布局设置为窗口的布局并显示窗口。

以上就是Python的“PyQt5 - 为单选按钮添加动作”的完整使用攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 – 为单选按钮添加动作 - Python技术站

(0)
上一篇 2023年5月10日
下一篇 2023年5月10日

相关文章

  • PyQt5 – 如何改变现有按钮的文本

    对于Python中PyQt5库,当我们需要更改已有窗口元素控件的文本时,有多种方法可以实现。下面详细介绍这些方法。 1.使用QPushButton类的setText()方法 我们可以使用QPushButton控件的setText()方法来更改按钮的文本。示例如下: import sys from PyQt5.QtWidgets import QApplica…

    python 2023年5月10日
    00
  • PyQt5 QCalendarWidget – 通过启用来延续功能

    PyQt5是Python编程语言的一种GUI框架,可以开发跨平台的桌面应用程序。QCalendarWidget是PyQt5中的一个日历控件,可以用来显示日历,支持多种配置选项和事件处理。启用来延续功能是一种特殊的设置,允许用户选择一个日期范围,并在选定范围内设置日期。 以下是使用PyQt5 QCalendarWidget控件启用来延续功能的完整攻略: 1. …

    python 2023年5月12日
    00
  • PyQt5 QCalendarWidget – 上个月按钮的背景颜色

    下面是详细的Python PyQt5 QCalendarWidget-上个月按钮的背景颜色使用攻略。 1. PyQt5 QCalendarWidget 1.1 介绍 QCalendarWidget是Qt库中用于显示日历的小部件,可以方便的选择日期和时间,并提供丰富的信号和槽函数,便于与其他小部件交互。 1.2 使用方法 创建QCalendarWidget对象…

    python 2023年5月12日
    00
  • PyQt5 – 为有可选项目的组合框添加动作

    PyQt5是Python编程语言的一个GUI编程框架,其中的QComboBox是一种组合框控件,可以让用户从一个下拉列表中选择一个或多个选项。 如果需要在PyQt5中为有可选项目的组合框添加动作,则可以使用QComboBox的addItem()方法添加选项,使用QComboBox的activated[str]信号和相应的处理函数来实现动作。 下面是具体的使用…

    python 2023年5月10日
    00
  • PyQt5 QDateTimeEdit – 仅当时间发生变化时发出信号

    PyQt5是Python语言背景下的GUI编程框架,而QDateTimeEdit则是其提供的一个日期时间选择器控件。本次回答将详细讲解如何使用PyQt5中的QDateTimeEdit控件,仅在时间发生变化时才发出信号。 1. QDateTimeEdit简介 QDateTimeEdit是PyQt5中提供的一个控件类,可用于选择日期和时间。它继承自QAbstra…

    python 2023年5月12日
    00
  • PyQt5 – 当鼠标悬停在复选框上时,为指示器设置背景图片

    为了在PyQt5中将背景图片设置为复选框的指示器(对勾图标)的背景图片,可以使用QSS样式表。具体步骤如下: 第一步:导入PyQt5模块 from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox from PyQt5.QtCore import Qt 第二步:创建QCheckBox对象并设置样式…

    python 2023年5月11日
    00
  • PyQt5 QSpinBox – 检查是否只读

    PyQt5是一款Python的GUI编程框架,其中QSpinBox控件是一种常用的数字输入框控件,在实际使用中,需要对QSpinBox是否只读进行检查。以下是PyQt5 QSpinBox-检查是否只读的完整使用攻略。 检查QSpinBox是否只读 使用QSpinBox的只读属性可以实现使QSpinBox和它的值不可编辑。要检查QSpinBox是否只读,可以使…

    python 2023年5月12日
    00
  • PyQt5 QSpinBox – 设置范围

    PyQt5是一个流行的Python GUI框架,其中的QSpinBox组件是一个用于输入数字的控件。在使用中,我们可能需要设置QSpinBox控件的范围,以便用户只能输入预设范围内的数字。以下是该控件的完整使用攻略。 设置QSpinBox的范围 要设置QSpinBox的范围,需要使用setRange()函数。该函数需要两个参数,分别表示范围的最小值和最大值。…

    python 2023年5月12日
    00
合作推广
合作推广
分享本页
返回顶部