您可以通过以下步骤解决这个问题:

  1. 创建一个QWidget组件,将QSlider和QSpinBox添加到该组件中。
  2. 为QSlider和QSpinBox分别设置合适的范围和初始值。
  3. 创建一个开关按钮组件,用于控制是否将值存入QString中。
  4. 在QWidget组件中,连接QSlider和QSpinBox的'valueChanged'信号到一个槽函数,该槽函数用于更新QString的值。
  5. 在开关按钮组件中,连接开关按钮的'toggled'信号到一个槽函数,该槽函数用于控制是否将值存入QString中。
  6. 在槽函数中,检查开关按钮的状态,如果开关按钮是打开状态,则将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_()

在这个示例中,当开关按钮被打开时,滑块和微调框的值会被存入字符串中,并打印出来。如果开关按钮被关闭,则不会存入字符串中。您可以根据自己的需求修改代码来适应您的具体情况。

Qt GUI:使用开关按钮控制QSlider和QSpinBox值存储到QString

原文地址: https://www.cveoy.top/t/topic/fAkT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录