我有两个python脚本。第一个脚本包含一个PyQt GUI,它显示我的交换机端口的状态。要显示状态,它会查询包含端口完整信息的数据库。第二个脚本负责在更改端口状态时对数据库进行必要的更改。 我需要知道如何发送信号或类似的东西时,数据库更新
PyQt脚本
from PyQt4 import QtCore, QtGui
import sqlite3
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(300, 170)
MainWindow.setMaximumSize(QtCore.QSize(300, 200))
MainWindow.setStyleSheet(_fromUtf8("background-color: rgb(255, 255, 255);"))
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.mac = QtGui.QLabel(self.centralwidget)
self.port = QtGui.QLabel(self.centralwidget)
self.ip_addres = QtGui.QLabel(self.centralwidget)
self.name = QtGui.QLabel(self.centralwidget)
self.actionUpdate = QtGui.QAction(MainWindow)
self.actionUpdate.setObjectName(_fromUtf8("actionUpdate"))
self.menuFile.addAction(self.actionUpdate)
QtCore.QObject.connect(self.actionUpdate, QtCore.SIGNAL(_fromUtf8("activated()")), self.update)
def update(self):
con = sqlite3.connect("database.db")
cursorObj = con.cursor()
sql_query = "SELECT * FROM switch"
cursorObj.execute(sql_consulta)
row = cursorObj.fetchone()
self.mac(_translate("MainWindow", row[0] None))
self.ip_addres.setText(_translate("MainWindow", row[1], None))
self.name.setText(_translate("MainWindow", row[2], None))
self.port.setText(_translate("MainWindow", row[3], None))
if __name__ =="__main__":
app =QtGui.QApplication(sys.argv)
myapp = MainWindow()
myapp.show()
sys.exit(app.exec_())
另一个脚本在交换机发生更改并更新数据库时执行。 我需要一种方法来更新界面时,发生了变化,而不需要按更新按钮
另一个脚本
import sqlite3
import sys
if __name__ =="__main__":
con = sqlite3.connect("database.db")
cursorObj = con.cursor()
sql_query = "UPDATE switch SET mac ='" + str(sys.argv[0]) + "', ip_addres = '" + str(sys.argv[1]) + "', name = '" + str(sys.argv[2]) + "', port =" + str(sys.argv[3])
cursorObj.execute(sql_update)
con.commit()
目前没有回答
相关问题 更多 >
编程相关推荐