參考資訊: 【Day06】QTableWidget 表格 with Images 圖片
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(754, 605)
self.listWidget = QtWidgets.QListWidget(parent=Form)
self.listWidget.setGeometry(QtCore.QRect(10, 100, 731, 151))
self.listWidget.setObjectName("listWidget")
self.gridLayoutWidget = QtWidgets.QWidget(parent=Form)
self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 10, 731, 80))
self.gridLayoutWidget.setObjectName("gridLayoutWidget")
self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.pushButton_3 = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
self.pushButton_3.setObjectName("pushButton_3")
self.gridLayout.addWidget(self.pushButton_3, 1, 2, 1, 1)
self.pushButton = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
self.pushButton.setObjectName("pushButton")
self.gridLayout.addWidget(self.pushButton, 0, 0, 1, 1)
self.pushButton_7 = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
self.pushButton_7.setObjectName("pushButton_7")
self.gridLayout.addWidget(self.pushButton_7, 0, 3, 1, 1)
self.pushButton_8 = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
self.pushButton_8.setObjectName("pushButton_8")
self.gridLayout.addWidget(self.pushButton_8, 0, 4, 1, 1)
self.pushButton_6 = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
self.pushButton_6.setObjectName("pushButton_6")
self.gridLayout.addWidget(self.pushButton_6, 1, 3, 1, 1)
self.pushButton_5 = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
self.pushButton_5.setObjectName("pushButton_5")
self.gridLayout.addWidget(self.pushButton_5, 0, 2, 1, 1)
self.pushButton_4 = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
self.pushButton_4.setObjectName("pushButton_4")
self.gridLayout.addWidget(self.pushButton_4, 1, 1, 1, 1)
self.pushButton_2 = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
self.pushButton_2.setObjectName("pushButton_2")
self.gridLayout.addWidget(self.pushButton_2, 0, 1, 1, 1)
self.gridLayout_2 = QtWidgets.QGridLayout()
self.gridLayout_2.setObjectName("gridLayout_2")
self.pushButton_10 = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
self.pushButton_10.setObjectName("pushButton_10")
self.gridLayout_2.addWidget(self.pushButton_10, 0, 1, 1, 1)
self.pushButton_9 = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
self.pushButton_9.setObjectName("pushButton_9")
self.gridLayout_2.addWidget(self.pushButton_9, 0, 0, 1, 1)
self.pushButton_11 = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
self.pushButton_11.setObjectName("pushButton_11")
self.gridLayout_2.addWidget(self.pushButton_11, 0, 2, 1, 1)
self.gridLayout.addLayout(self.gridLayout_2, 0, 8, 1, 1)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.gridLayout.addItem(spacerItem, 0, 5, 1, 1)
self.tableWidget = QtWidgets.QTableWidget(parent=Form)
self.tableWidget.setGeometry(QtCore.QRect(10, 260, 731, 331))
self.tableWidget.setRowCount(10)
self.tableWidget.setColumnCount(12)
self.tableWidget.setObjectName("tableWidget")
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(4, item)
self.tableWidget.horizontalHeader().setVisible(True)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.pushButton_3.setText(_translate("Form", "3-查詢"))
self.pushButton.setText(_translate("Form", "1-登入"))
self.pushButton_7.setText(_translate("Form", "6-畫1分K"))
self.pushButton_8.setText(_translate("Form", "7- 畫Tcik圖"))
self.pushButton_6.setText(_translate("Form", "5-查即時Tick"))
self.pushButton_5.setText(_translate("Form", "4-查歷史Tick"))
self.pushButton_4.setText(_translate("Form", "報價斷線"))
self.pushButton_2.setText(_translate("Form", "2-報價連線"))
self.pushButton_10.setText(_translate("Form", "10-讀取憑證"))
self.pushButton_9.setText(_translate("Form", "9-下單啟動"))
self.pushButton_11.setText(_translate("Form", "11-倉位查詢"))
item = self.tableWidget.horizontalHeaderItem(0)
item.setText(_translate("Form", "商品代號"))
item = self.tableWidget.horizontalHeaderItem(1)
item.setText(_translate("Form", "價格"))
item = self.tableWidget.horizontalHeaderItem(2)
item.setText(_translate("Form", "現在價格"))
item = self.tableWidget.horizontalHeaderItem(3)
item.setText(_translate("Form", "成本價格"))
item = self.tableWidget.horizontalHeaderItem(4)
item.setText(_translate("Form", "賺賠"))
class MyMainWindow(QMainWindow, Ui_Form):
def __init__(self, parent=None):
super(MyMainWindow, self).__init__(parent)
self.setupUi(self)
self.pushButton.clicked.connect(self.twTest1) #ctw signal
self.pushButton_2.clicked.connect(self.twTest2) #ctw signal
self.pushButton_3.clicked.connect(self.twTest3) #ctw signal
self.pushButton_4.clicked.connect(self.twTest8) #ctw signal
self.pushButton_5.clicked.connect(self.twTest4) #ctw signal
self.pushButton_6.clicked.connect(self.twTest5) #ctw signal
self.pushButton_7.clicked.connect(self.twTest6) #ctw signal
self.pushButton_8.clicked.connect(self.twTest7) #ctw signal
self.pushButton_9.clicked.connect(self.twTest9) #ctw signal
self.pushButton_10.clicked.connect(self.twTest10) #ctw signal
self.pushButton_11.clicked.connect(self.twTest11) #ctw signal
def twTest1(self): #ctw slot function
print("1-登入")
self.listWidget.addItem("1-登入")
twLogin(ID, PW)
def twTest2(self): #ctw slot function
print("2-連線")
self.listWidget.addItem("2-連線")
self.listWidget.addItem("m_nCode: " + str(twConnect()))
##############################################################################
# Qt Signal/Slot
##############################################################################
# 信号对象
class QTypeSignal(QObject):
# 定义一个信号
sendmsg = pyqtSignal(object)
def __init__(self):
super(QTypeSignal, self).__init__() #super() 函数是用于调用父类(超类)的一个方法。
def run(self, msg):
# 发射信号
self.sendmsg.emit(msg)
# 槽对象
class QTypeSlot(QObject):
def __init__(self):
super(QTypeSlot, self).__init__()
# 槽对象里的槽函数
def get(self, msg):
#print("QSlot get msg => ")
myWin.showMessage(msg)
def OnNotifyQuoteLONG(self, sMarketNo, nStockidx): #ctw # 3-【查詢】回報
pStock = sk.SKSTOCKLONG()
m_nCode = skQ.SKQuoteLib_GetStockByIndexLONG(sMarketNo, nStockidx, pStock)
strMsg = '代碼:',pStock.bstrStockNo,'--名稱:',pStock.bstrStockName,'--開盤價:',str(pStock.nOpen/math.pow(10,pStock.sDecimal)),'--最高:',\
str(pStock.nHigh/math.pow(10,pStock.sDecimal)),'--最低:',\
str(pStock.nLow/math.pow(10,pStock.sDecimal)),'--成交價:',str(pStock.nClose/math.pow(10,pStock.sDecimal))\
,'--總量:',str(pStock.nTQty)
twStrMsg=twTuple_2_Str(strMsg)
send.run(twStrMsg)
##############################################################################
# 主程式
##############################################################################
if __name__=="__main__":
app = QApplication(sys.argv)
myWin = MyMainWindow()
myWin.show()
send = QTypeSignal()
slot = QTypeSlot()
# 1
print('--- 把信号绑定到槽函数 ---')
send.sendmsg.connect(slot.get)
#send.run()
# 2
#print('--- 把信号断开槽函数 ---')
#send.sendmsg.disconnect(slot.get)
#send.run()
sys.exit(app.exec())
class MyMainWindow(QMainWindow, Ui_Form):
def __init__(self, parent=None):
super(MyMainWindow, self).__init__(parent)
self.setupUi(self)
self.pushButton.clicked.connect(self.twTest1) #ctw signal
self.pushButton_2.clicked.connect(self.twTest2) #ctw signal
self.pushButton_3.clicked.connect(self.twTest3) #ctw signal
self.pushButton_4.clicked.connect(self.twTest8) #ctw signal
self.pushButton_5.clicked.connect(self.twTest4) #ctw signal
self.pushButton_6.clicked.connect(self.twTest5) #ctw signal
self.pushButton_7.clicked.connect(self.twTest6) #ctw signal
self.pushButton_8.clicked.connect(self.twTest7) #ctw signal
self.pushButton_9.clicked.connect(self.twTest9) #ctw signal
self.pushButton_10.clicked.connect(self.twTest10) #ctw signal
self.pushButton_11.clicked.connect(self.twTest11) #ctw signal
def twTest1(self): #ctw slot function
print("1-登入")
self.listWidget.addItem("1-登入")
twLogin(ID, PW)
def twTest11(self): #ctw slot function
print("11-倉位查詢")
self.listWidget.addItem("9-倉位查詢")
self.listWidget.addItem("m_nCode1: " + str(twSKO3_GetAccount()))
self.listWidget.addItem("m_nCode2: " + str(twSKO4_GetOpenInterest(ID, ACCOUNT)))
self.tableWidget.setItem(1,1,QTableWidgetItem("倉位查詢"))
#listWidget.addItem("m_nCode2: " + str(twSKO4_GetOpenInterest(ID, ACCOUNT)))
#self.listWidget.addItem("m_nCode: " + str(twDisconnect()))
def showMessage(self, msg):
self.listWidget.addItem(msg)
#global GlobalListInformation,Global_ID
#GlobalListInformation = self.listWidget
#Global_ID = self.labelID
沒有留言:
張貼留言