使用QTableWidget訂閱商品報價(1) | 將訂閱商品資訊填入QtTableWidget
結論: 修改了Part V. 第670行後, 即搞定
##############################################################################
# V - View | 主視窗類別 | 按鈕送出訊號所對應之槽函數
##############################################################################
MyMainWindow():
def twTest3(self): #ctw slot function
print("3-查詢")
self.listWidget.addItem("3-查詢")
self.listWidget.addItem("m_nCode: " + str(twQueryStocks("0", STOCK_ID)) )
#def twQueryStocks(twPageNo, twStocks): #(ctw-3-2. 查詢)
# 3-【查詢】
# twPageNo: self.txtPageNo.get().replace(' ','')
# twStocks: self.txtStocks.get().replace(' ','')
1. 選擇訂閱的商品:
##############################################################################
# III. 群益API 按鈕事件所對應之相閞 tw Slot槽函數 (於V.槽函數所會用到的子工具函數區)
##############################################################################
#-----------------------------------------------------------------------------
# Part1. (tw函數1) 呼叫API函數區,tw呼叫類函數(連線,查報價,下單,查倉位)【III.1】
#-----------------------------------------------------------------------------
twQueryStock()
def twQueryStocks(twPageNo, twStocks): #(ctw-3-2. 查詢) # skq3
# 3-【查詢】
# twPageNo: self.txtPageNo.get().replace(' ','')
# twStocks: self.txtStocks.get().replace(' ','')
try:
if(twPageNo == ''):
pn = 0
else:
pn = int(twPageNo) #?
m_nCode = skQ.SKQuoteLib_RequestStocks(pn,twStocks)
return m_nCode
except Exception as e:
messagebox.showerror("error!",e)
第670行
##############################################################################
# V - View | 主視窗類別 | 按鈕送出訊號所對應之槽函數
##############################################################################
MyMainWindow():
def twTest3(self): #ctw slot function
print("3-查詢")
self.listWidget.addItem("3-查詢")
self.listWidget.addItem("m_nCode: " + str(twQueryStocks("0", "TX00")) )
#def twQueryStocks(twPageNo, twStocks): #(ctw-3-2. 查詢)
# 3-【查詢】
# twPageNo: self.txtPageNo.get().replace(' ','')
# twStocks: self.txtStocks.get().replace(' ','')
2. 訂閱商品報價回傳:
第500行
##############################################################################
# IV - 群益API事件
##############################################################################
class SKQuoteLibEvents:
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) #發射Signal訊號
"""
strMsg = Gobal_ServerTime_Information["text"], \
'--1代碼:',pStock.bstrStockNo,\
'--2成交價:',pStock.nClose/math.pow(10,pStock.sDecimal),\
'--3成交量:',pStock.nTickQty,\
'--4總量:',pStock.nTQty,\
'--5買量:',pStock.nBc,\
'--6賣量:',pStock.nAc,\
'--7最高:',pStock.nHigh/math.pow(10,pStock.sDecimal),\
'--8最低:',pStock.nLow/math.pow(10,pStock.sDecimal)
WriteMessage(strMsg,Gobal_Quote_ListInformation)
"""
#twSaveQuoteToFile(pStock)
沒有留言:
張貼留言