10from krita
import IntParseSpinBox, DoubleParseSpinBox
12 from PyQt6.QtWidgets import QDialog, QFormLayout, QHBoxLayout, QSpinBox, QDoubleSpinBox, QLabel, QCheckBox
14 from PyQt5.QtWidgets import QDialog, QFormLayout, QHBoxLayout, QSpinBox, QDoubleSpinBox, QLabel, QCheckBox
17hLayout = QHBoxLayout()
22intParseSpinBox = IntParseSpinBox()
23layout.addRow(
"IntParseSpinBox.widget():", intParseSpinBox.widget())
25intValueChangedLabel = QLabel()
27 intValueChangedLabel.setText(str(value))
28intParseSpinBox.widget().valueChanged.connect(setIntVal)
29layout.addRow(
"widget().valueChanged:", intValueChangedLabel)
31isValidLabel = QLabel()
33 isValidLabel.setText(str(intParseSpinBox.isLastValid()))
34intParseSpinBox.widget().valueChanged.connect(setValid)
35layout.addRow(
"Is Last Valid:", isValidLabel)
37statusLabel = QLabel(
"Valid")
39 statusLabel.setText(
"Error")
41 statusLabel.setText(
"Valid")
42intParseSpinBox.errorWhileParsing.connect(setError)
43intParseSpinBox.noMoreParsingError.connect(setOkay)
44layout.addRow(
"Status:", statusLabel)
46layout.addWidget(QLabel(
"Pass values to functions here:"))
49stepByBox.valueChanged.connect(intParseSpinBox.stepBy)
50layout.addRow(
"Step By:", stepByBox)
53valueBox.setMaximum(100)
54overwriteCheckBox = QCheckBox()
56 intParseSpinBox.setValue(valueBox.value(), overwriteCheckBox.isChecked())
57valueBox.valueChanged.connect(setValue)
58overwriteCheckBox.clicked.connect(setValue)
59layout.addRow(
"Value", valueBox)
60layout.addRow(
" (overWriteExisting):", overwriteCheckBox)
61testOverwriteCheckBox = QCheckBox()
63 if testOverwriteCheckBox.isChecked():
64 intParseSpinBox.widget().textChanged.connect(setValue)
66 intParseSpinBox.widget().textChanged.disconnect(setValue)
67testOverwriteCheckBox.clicked.connect(toggleOverwriteTest)
68layout.addRow(
" Test overwrite while typing?", testOverwriteCheckBox)
70hLayout.addLayout(layout)
73hLayout.addWidget(QLabel())
76dblLayout = QFormLayout()
78doubleParseSpinBox = DoubleParseSpinBox()
79dblLayout.addRow(
"DoubleParseSpinBox.widget():", doubleParseSpinBox.widget())
81dblValueChangedLabel = QLabel()
83 dblValueChangedLabel.setText(str(value))
84doubleParseSpinBox.widget().valueChanged.connect(setDoubleVal)
85dblLayout.addRow(
"widget().valueChanged:", dblValueChangedLabel)
87dblIsValidLabel = QLabel()
89 dblIsValidLabel.setText(str(doubleParseSpinBox.isLastValid()))
90doubleParseSpinBox.widget().valueChanged.connect(dblSetValid)
91dblLayout.addRow(
"Is Last Valid:", dblIsValidLabel)
93dblStatusLabel = QLabel(
"Valid")
95 dblStatusLabel.setText(
"Error")
97 dblStatusLabel.setText(
"Valid")
98doubleParseSpinBox.errorWhileParsing.connect(dblSetError)
99doubleParseSpinBox.noMoreParsingError.connect(dblSetOkay)
100dblLayout.addRow(
"Status:", dblStatusLabel)
102dblLayout.addWidget(QLabel(
"Pass values to functions here:"))
104dblStepByBox = QSpinBox()
105dblStepByBox.valueChanged.connect(doubleParseSpinBox.stepBy)
106dblLayout.addRow(
"Step By:", dblStepByBox)
108dblValueBox = QDoubleSpinBox()
109dblOverwriteCheckBox = QCheckBox()
111 doubleParseSpinBox.setValue(dblValueBox.value(), dblOverwriteCheckBox.isChecked())
112dblValueBox.valueChanged.connect(dblSetValue)
113dblOverwriteCheckBox.clicked.connect(dblSetValue)
114dblLayout.addRow(
"Value", dblValueBox)
115dblLayout.addRow(
" (overwriteExisting):", dblOverwriteCheckBox)
116dblTestOverwriteCheckBox = QCheckBox()
118 if dblTestOverwriteCheckBox.isChecked():
119 doubleParseSpinBox.widget().textChanged.connect(dblSetValue)
121 doubleParseSpinBox.widget().textChanged.disconnect(dblSetValue)
122dblTestOverwriteCheckBox.clicked.connect(dblToggleOverwriteTest)
123dblLayout.addRow(
" Test overwrite while typing?", dblTestOverwriteCheckBox)
125hLayout.addLayout(dblLayout)
129dialog.setLayout(hLayout)