所以我制作了这个应该告诉你java版本的小程序,但我收到了这个错误:
QLineEdit.setText(QString):参数1具有意外类型'int'
尝试运行时
代码:
import sys
import os
from PyQt4 import QtGui
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
class java(QtGui.QMainWindow):
def s(self):
g = os.system("java -version")
self.version.setText(g)
def __init__(self, parent=None):
super(java, self).__init__(parent)
self.setMinimumSize(201, 82)
self.setMaximumSize(201, 82)
self.version = QLineEdit(self)
self.version.setMinimumSize(181, 21)
self.version.setMaximumSize(181, 21)
self.version.setGeometry(QRect(10 ,10, self.width(), self.height()))
self.fetch = QPushButton(self)
self.fetch.setMinimumSize(181, 23)
self.fetch.setMaximumSize(181, 23)
self.fetch.setGeometry(QRect(10, 50, self.width(), self.height()))
self.fetch.setText("Fetch version")
self.fetch.clicked.connect(self.s)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
main = java()
main.show()
sys.exit(app.exec_())
答案 0 :(得分:1)
问题在于您的方法s
,其中您执行了os.system
来电。
def s(self):
g = os.system("java -version")
self.version.setText(g)
此处的变量g
存储True
或False
,它是系统调用的输出,而不是java的版本
要捕获输出的版本,请使用子进程模块,如here
所述