Skip to main content
 首页 » 编程设计

python之在 QLCDNumber 小部件上显示数字

2025年05月04日16zdz8207

我对 Qt 和 python 有点陌生。我创建了一个简单的 GUI,它由垂直 slider 和一个 QLCDNumber 小部件组成。我以某种方式使用函数访问了 slider 的值。但现在我想在 QLCDNumber 显示中显示新生成的值。我该怎么做?有什么方法可以在 QLCDNumber 显示中显示新值 (ipp)?我的代码如下:

from PyQt4 import QtCore, QtGui 
 
try: 
    _fromUtf8 = QtCore.QString.fromUtf8 
except AttributeError: 
    _fromUtf8 = lambda s: s 
 
class Ui_MainWindow(object): 
    def setupUi(self, MainWindow): 
        MainWindow.setObjectName(_fromUtf8("MainWindow")) 
        MainWindow.resize(733, 498) 
        self.centralWidget = QtGui.QWidget(MainWindow) 
        self.centralWidget.setObjectName(_fromUtf8("centralWidget")) 
        self.verticalSlider = QtGui.QSlider(self.centralWidget) 
        self.verticalSlider.setGeometry(QtCore.QRect(110, 80, 20, 331)) 
        self.verticalSlider.setOrientation(QtCore.Qt.Vertical) 
        self.verticalSlider.setObjectName(_fromUtf8("verticalSlider")) 
        self.lcdNumber = QtGui.QLCDNumber(self.centralWidget) 
        self.lcdNumber.setGeometry(QtCore.QRect(320, 180, 191, 81)) 
        self.lcdNumber.setObjectName(_fromUtf8("lcdNumber")) 
        MainWindow.setCentralWidget(self.centralWidget) 
        self.menuBar = QtGui.QMenuBar(MainWindow) 
        self.menuBar.setGeometry(QtCore.QRect(0, 0, 733, 21)) 
        self.menuBar.setObjectName(_fromUtf8("menuBar")) 
        MainWindow.setMenuBar(self.menuBar) 
        self.mainToolBar = QtGui.QToolBar(MainWindow) 
        self.mainToolBar.setObjectName(_fromUtf8("mainToolBar")) 
        MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.mainToolBar) 
        self.statusBar = QtGui.QStatusBar(MainWindow) 
        self.statusBar.setObjectName(_fromUtf8("statusBar")) 
        MainWindow.setStatusBar(self.statusBar) 
 
        self.retranslateUi(MainWindow) 
        QtCore.QMetaObject.connectSlotsByName(MainWindow) 
        QtCore.QObject.connect(self.verticalSlider, QtCore.SIGNAL(_fromUtf8("valueChanged(int)")), self.abc) 
 
 
    def retranslateUi(self, MainWindow): 
        MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8)) 
 
    def abc(self, ip): 
        self.ipp = ip - 10 
 
if __name__ == "__main__": 
    import sys 
    app = QtGui.QApplication(sys.argv) 
    MainWindow = QtGui.QMainWindow() 
    ui = Ui_MainWindow() 
    ui.setupUi(MainWindow) 
    MainWindow.show() 
    sys.exit(app.exec_()) 

请您参考如下方法:

你需要添加一个简单的函数

def abc(self, ip): 
        self.ipp = ip - 10 
        self.lcdNumber.display(self.ipp) 

这将显示您新生成的值