使用 PyQt5 的 QSpinBox 组件可以让用户方便地通过鼠标或键盘输入来选择一个整数。有时候需要获取 QSpinBox 组件的左边距,下面是具体步骤:
步骤
- 初始化 QSpinBox 组件并设置它的大小和位置
spinbox = QSpinBox()
spinbox.setGeometry(50, 50, 100, 30)
- 获取 QSpinBox 组件的左边距
left_margin = spinbox.geometry().left()
- 在需要的地方使用左边距的值
print(f"Spinbox left margin = {left_margin}")
示例
以下是两个完整的示例,展示如何获取 QSpinBox 组件的左边距:
示例1
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QSpinBox, QLabel, QVBoxLayout
class App(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
spinbox = QSpinBox()
spinbox.setGeometry(50, 50, 100, 30)
left_margin = spinbox.geometry().left()
label = QLabel(f"Spinbox left margin = {left_margin}")
vbox = QVBoxLayout()
vbox.addWidget(label)
self.setLayout(vbox)
self.setGeometry(300, 300, 200, 100)
self.setWindowTitle('QSpinBox Example')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
运行以上代码,将会在GUI中展示 “Spinbox left margin = 50″。
示例2
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QSpinBox, QPushButton, QLabel, QVBoxLayout, QHBoxLayout
class App(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
spinbox = QSpinBox()
spinbox.setGeometry(50, 50, 100, 30)
left_margin = spinbox.geometry().left()
label = QLabel(f"Spinbox left margin = {left_margin}")
button = QPushButton('Print Left Margin')
button.clicked.connect(lambda: print(f"Spinbox left margin = {left_margin}"))
hbox = QHBoxLayout()
hbox.addWidget(button)
hbox.addWidget(label)
vbox = QVBoxLayout()
vbox.addLayout(hbox)
self.setLayout(vbox)
self.setGeometry(300, 300, 200, 100)
self.setWindowTitle('QSpinBox Example')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
运行以上代码,将会在GUI中展示一个 “Print Left Margin” 按钮和一个 “Spinbox left margin = 50” 的标签。点击按钮将会在控制台打印 “Spinbox left margin = 50″。