2 Star 10 Fork 7

终點起點/PySide6-UI-Demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
DobleSpinBox.py 3.38 KB
一键复制 编辑 原始数据 按行查看 历史
终點起點 提交于 2024-07-09 17:14 +08:00 . 增加新功能
import sys
import os
from PySide6.QtWidgets import *
from PySide6.QtGui import *
from PySide6.QtCore import *
class Demo(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.parent = parent
layout = QVBoxLayout()
layout.setAlignment(Qt.AlignmentFlag.AlignTop)
toolBar =QToolBar()
cb = QCheckBox('Separator')
cb.stateChanged.connect(self.OnSeparatorChanged)
toolBar.addWidget(cb)
cb = QCheckBox('Wrapping')
cb.stateChanged.connect(self.OnWrappingChanged)
toolBar.addWidget(cb)
toolBar.addWidget(QLabel('Step:'))
self.stepEdit = QLineEdit()
self.stepEdit.editingFinished.connect(self.SetStep)
toolBar.addWidget(self.stepEdit)
toolBar.addWidget(QLabel('Prefix:'))
self.prefixEdit = QLineEdit()
self.prefixEdit.editingFinished.connect(self.SetPrefix)
toolBar.addWidget(self.prefixEdit)
toolBar.addWidget(QLabel('Suffix:'))
self.suffixEdit = QLineEdit()
self.suffixEdit.editingFinished.connect(self.SetSuffix)
toolBar.addWidget(self.suffixEdit)
toolBar.addWidget(QLabel('StepType:'))
stepType = QComboBox()
stepType.addItems(QSpinBox.StepType.__members__.keys())
stepType.currentTextChanged.connect(self.StepTypeChanged)
toolBar.addWidget(stepType)
toolBar.addWidget(QLabel('Min:'))
self.minEdit = QLineEdit()
toolBar.addWidget(self.minEdit)
toolBar.addWidget(QLabel('Max:'))
self.maxEdit = QLineEdit()
toolBar.addWidget(self.maxEdit)
btn =QPushButton('SetRange')
btn.clicked.connect(self.SetRange)
toolBar.addWidget(btn)
btn =QPushButton('ShowValue')
btn.clicked.connect(self.ShowValue)
toolBar.addWidget(btn)
layout.addWidget(toolBar)
self.spinBox=QDoubleSpinBox()
self.spinBox.setRange(0,10000)
self.spinBox.setValue(1000)
layout.addWidget(self.spinBox)
self.setLayout(layout)
def OnSeparatorChanged(self,state):
self.spinBox.setGroupSeparatorShown(state)
self.parent.OnShowMessage(f"Set GroupSeparatorShown={state}")
def OnWrappingChanged(self,state):
self.spinBox.setWrapping(state)
self.parent.OnShowMessage(f"Set Wrapping={state}")
def SetStep(self):
step = float(self.stepEdit.text())
self.spinBox.setSingleStep(step)
self.parent.OnShowMessage(f'Set SingleStep: {step}')
def SetPrefix(self):
prefix= self.prefixEdit.text()
self.spinBox.setPrefix(prefix)
self.parent.OnShowMessage(f'Set Prefix: {prefix}')
def SetSuffix(self):
suffix= self.suffixEdit.text()
self.spinBox.setSuffix(suffix)
self.parent.OnShowMessage(f'Set Suffix: {suffix}')
def StepTypeChanged(self,text):
type = QSpinBox.StepType[text]
self.spinBox.setStepType(type)
self.parent.OnShowMessage(f'Set StepType: {type}')
def SetRange(self):
min =float(self.minEdit.text())
max =float(self.maxEdit.text())
self.spinBox.setRange(min,max)
self.parent.OnShowMessage(f'Set Range: {min}~{max}')
def ShowValue(self):
self.parent.OnShowMessage(f'SpinBox value:{self.spinBox.value()}')
def runDemo(parent):
wigdet = Demo(parent)
return wigdet
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/johnjiangw/pyside6-ui-demo.git
git@gitee.com:johnjiangw/pyside6-ui-demo.git
johnjiangw
pyside6-ui-demo
PySide6-UI-Demo
master

搜索帮助