[PyQt6] PartⅡ. QSpinBox

Creating QSpinBox

重点代码

self.spinbox.valueChanged.connect(self.spin_selected) # 当值发生变化的时候,调用是spin_selected函数

完整代码

from PyQt6.QtWidgets import QApplication, QWidget, QHBoxLayout, QRadioButton, QLabel, QVBoxLayout, QSpinBox, QLineEdit
from PyQt6.QtGui import QIcon, QFont
from PyQt6.QtCore import QSize
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()

        self.setGeometry(200, 200, 700, 400) # 设置窗口大小
        self.setWindowTitle("Python QCheckBox")
        self.setWindowIcon(QIcon('python.png')) # 设置图片,没有的话不显示

        hbox = QHBoxLayout()

        label = QLabel("Laptop Price: ")
        label.setFont(QFont("Times", 15))

        self.lineedit = QLineEdit()

        self.spinbox = QSpinBox()
        self.spinbox.valueChanged.connect(self.spin_selected)

        self.total_result = QLineEdit()

        hbox.addWidget(label)
        hbox.addWidget(self.lineedit)
        hbox.addWidget(self.spinbox)
        hbox.addWidget(self.total_result)

        self.setLayout(hbox)

    def spin_selected(self):
        if self.lineedit.text != 0:
            price = int(self.lineedit.text())
            totalprice = self.spinbox.value() * price

            self.total_result.setText(str(totalprice))

        else:
            print("error")

app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec())

当失去焦点时,再调用函数

self.doubleSpinBox.editingFinished.connect("self.second_result") 
posted @   deadright  阅读(60)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示