from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton, QHBoxLayout, QVBoxLayout, QPushButton app = QApplication([]) # 创建主窗口 window = QWidget() # 创建选项按钮组 option_1 = QRadioButton("A") option_2 = QRadioButton("B") option_3 = QRadioButton("C") option_4 = QRadioButton("D") # 创建按钮布局 options_layout = QHBoxLayout() options_layout.addWidget(option_1) options_layout.addWidget(option_2) options_layout.addWidget(option_3) options_layout.addWidget(option_4) # 创建下一题按钮 next_question_button = QPushButton("下一题") # 创建主布局 main_layout = QVBoxLayout() main_layout.addLayout(options_layout) main_layout.addWidget(next_question_button) # 设置主布局 window.setLayout(main_layout) def clear_checked_option(): """取消当前选中的选项按钮""" for option in [option_1, option_2, option_3, option_4]: if option.isChecked(): option.setChecked(False) return # 当下一题按钮被点击时,取消当前选中的选项按钮 next_question_button.clicked.connect(clear_checked_option) # 显示窗口 window.show() # 运行应用程序 app.exec()把代码修改为当选中单选按钮后,再点击下一题按钮,单选按钮取消选中
时间: 2024-03-10 22:45:23 浏览: 71
可以将 clear_checked_option 函数修改为:
```
def clear_checked_option():
"""取消当前选中的选项按钮"""
for option in [option_1, option_2, option_3, option_4]:
if option.isChecked():
option.setChecked(False)
next_question_button.setEnabled(False) # 禁用下一题按钮
```
然后在创建选项按钮组时添加信号槽:
```
option_1.toggled.connect(lambda: next_question_button.setEnabled(True))
option_2.toggled.connect(lambda: next_question_button.setEnabled(True))
option_3.toggled.connect(lambda: next_question_button.setEnabled(True))
option_4.toggled.connect(lambda: next_question_button.setEnabled(True))
```
这样当选项按钮被选中时,下一题按钮就会被启用;而当下一题按钮被点击时,选中的选项按钮就会被取消,并且下一题按钮会被禁用。
相关问题
解析import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel from PyQt5.QtGui import QPixmap
这段代码是用于导入 PyQt5 模块中的 QApplication、QWidget、QLabel 和 QPixmap 类。这些类用于创建和管理 PyQt5 应用程序的不同元素,例如窗口和标签等。在此之前,还需要导入 sys 模块,它是 Python 标准库中的一个模块,提供对解释器范围内变量和函数的访问,以及对 Python 解释器来说使用小部分内存的高效机制。
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QPushButton,QTextEdit,QLabel,QMessageBox,QMessageBox ModuleNotFoundError: No module named 'PyQt5'
这个错误提示表明你的环境中没有安装 PyQt5 模块。你需要先安装 PyQt5 模块,然后才能在 Python 中导入该模块。
请按照以下步骤安装 PyQt5 模块:
1. 打开命令行窗口或终端。
2. 输入以下命令安装 PyQt5:
```
pip install PyQt5
```
如果您使用的是 Python 3,则可能需要使用 pip3 命令:
```
pip3 install PyQt5
```
3. 等待安装完成。
4. 然后在 Python 中导入 PyQt5 模块:
```
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QPushButton,QTextEdit,QLabel,QMessageBox
```
如果你已经安装了 PyQt5 模块,但仍然发生这个错误,请检查你所使用的 Python 环境是否正确。有时候会存在多个 Python 环境,需要确保你安装 PyQt5 的 Python 环境与你所使用的 Python 环境一致。