Qt GUI:使用开关按钮控制QSlider和QSpinBox值存储到QString
您可以通过以下步骤解决这个问题:
- 创建一个QWidget组件,将QSlider和QSpinBox添加到该组件中。
- 为QSlider和QSpinBox分别设置合适的范围和初始值。
- 创建一个开关按钮组件,用于控制是否将值存入QString中。
- 在QWidget组件中,连接QSlider和QSpinBox的'valueChanged'信号到一个槽函数,该槽函数用于更新QString的值。
- 在开关按钮组件中,连接开关按钮的'toggled'信号到一个槽函数,该槽函数用于控制是否将值存入QString中。
- 在槽函数中,检查开关按钮的状态,如果开关按钮是打开状态,则将QSlider或QSpinBox的值存入QString中。
下面是一个简单的示例代码:
from PyQt5.QtWidgets import QApplication, QWidget, QSlider, QSpinBox, QVBoxLayout, QPushButton
from PyQt5.QtCore import Qt
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.slider = QSlider(Qt.Horizontal)
self.slider.setMinimum(0)
self.slider.setMaximum(100)
self.slider.setValue(50)
self.spinBox = QSpinBox()
self.spinBox.setMinimum(0)
self.spinBox.setMaximum(100)
self.spinBox.setValue(50)
self.button = QPushButton('开关按钮')
self.button.setCheckable(True)
layout = QVBoxLayout()
layout.addWidget(self.slider)
layout.addWidget(self.spinBox)
layout.addWidget(self.button)
self.setLayout(layout)
self.button.toggled.connect(self.onButtonToggled)
self.slider.valueChanged.connect(self.updateValue)
self.spinBox.valueChanged.connect(self.updateValue)
self.value = ''
def onButtonToggled(self, checked):
if checked:
self.updateValue()
def updateValue(self):
if self.button.isChecked():
self.value = str(self.slider.value()) + ' ' + str(self.spinBox.value())
print(self.value)
if __name__ == '__main__':
app = QApplication([])
widget = MyWidget()
widget.show()
app.exec_()
在这个示例中,当开关按钮被打开时,滑块和微调框的值会被存入字符串中,并打印出来。如果开关按钮被关闭,则不会存入字符串中。您可以根据自己的需求修改代码来适应您的具体情况。
原文地址: https://www.cveoy.top/t/topic/fAkT 著作权归作者所有。请勿转载和采集!