使用qtpy代替PyQt4
This commit is contained in:
parent
b2336f3a9f
commit
38caf8bf62
@ -5,13 +5,13 @@ CTA模块相关的GUI控制组件
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
from uiBasicWidget import QtGui, QtCore, BasicCell
|
from vnpy.event import Event
|
||||||
from vnpy.event import *
|
from uiBasicWidget import QtGui, QtCore, QtWidgets, BasicCell
|
||||||
from language import text
|
from language import text
|
||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class CtaValueMonitor(QtGui.QTableWidget):
|
class CtaValueMonitor(QtWidgets.QTableWidget):
|
||||||
"""参数监控"""
|
"""参数监控"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
@ -56,9 +56,9 @@ class CtaValueMonitor(QtGui.QTableWidget):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class CtaStrategyManager(QtGui.QGroupBox):
|
class CtaStrategyManager(QtWidgets.QGroupBox):
|
||||||
"""策略管理组件"""
|
"""策略管理组件"""
|
||||||
signal = QtCore.pyqtSignal(type(Event()))
|
signal = QtCore.Signal(type(Event()))
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
def __init__(self, ctaEngine, eventEngine, name, parent=None):
|
def __init__(self, ctaEngine, eventEngine, name, parent=None):
|
||||||
@ -145,9 +145,9 @@ class CtaStrategyManager(QtGui.QGroupBox):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class CtaEngineManager(QtGui.QWidget):
|
class CtaEngineManager(QtWidgets.QWidget):
|
||||||
"""CTA引擎管理组件"""
|
"""CTA引擎管理组件"""
|
||||||
signal = QtCore.pyqtSignal(type(Event()))
|
signal = QtCore.Signal(type(Event()))
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
def __init__(self, ctaEngine, eventEngine, parent=None):
|
def __init__(self, ctaEngine, eventEngine, parent=None):
|
||||||
|
@ -6,13 +6,13 @@
|
|||||||
|
|
||||||
import json
|
import json
|
||||||
|
|
||||||
from uiBasicWidget import QtGui, QtCore
|
from uiBasicWidget import QtWidgets, QtGui, QtCore
|
||||||
from vnpy.event import *
|
from vnpy.event import *
|
||||||
from language import text
|
from language import text
|
||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class TableCell(QtGui.QTableWidgetItem):
|
class TableCell(QtWidgets.QTableWidgetItem):
|
||||||
"""居中的单元格"""
|
"""居中的单元格"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
@ -34,9 +34,9 @@ class TableCell(QtGui.QTableWidgetItem):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class DrEngineManager(QtGui.QWidget):
|
class DrEngineManager(QtWidgets.QWidget):
|
||||||
"""行情数据记录引擎管理组件"""
|
"""行情数据记录引擎管理组件"""
|
||||||
signal = QtCore.pyqtSignal(type(Event()))
|
signal = QtCore.Signal(type(Event()))
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
def __init__(self, drEngine, eventEngine, parent=None):
|
def __init__(self, drEngine, eventEngine, parent=None):
|
||||||
|
@ -5,13 +5,13 @@
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
from uiBasicWidget import QtGui, QtCore
|
from uiBasicWidget import QtGui, QtWidgets, QtCore
|
||||||
from vnpy.event import *
|
from vnpy.event import *
|
||||||
from language import text
|
from language import text
|
||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class RmSpinBox(QtGui.QSpinBox):
|
class RmSpinBox(QtWidgets.QSpinBox):
|
||||||
"""调整参数用的数值框"""
|
"""调整参数用的数值框"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
@ -28,7 +28,7 @@ class RmSpinBox(QtGui.QSpinBox):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class RmLine(QtGui.QFrame):
|
class RmLine(QtWidgets.QFrame):
|
||||||
"""水平分割线"""
|
"""水平分割线"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
@ -42,7 +42,7 @@ class RmLine(QtGui.QFrame):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class RmEngineManager(QtGui.QWidget):
|
class RmEngineManager(QtWidgets.QWidget):
|
||||||
"""风控引擎的管理组件"""
|
"""风控引擎的管理组件"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
|
@ -5,7 +5,8 @@ import csv
|
|||||||
import os
|
import os
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
from PyQt4 import QtGui, QtCore
|
#from PyQt4 import QtGui, QtCore
|
||||||
|
from qtpy import QtWidgets, QtGui, QtCore
|
||||||
|
|
||||||
from vnpy.event import *
|
from vnpy.event import *
|
||||||
from vnpy.trader.vtEvent import *
|
from vnpy.trader.vtEvent import *
|
||||||
@ -39,7 +40,7 @@ BASIC_FONT = loadFont()
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class BasicCell(QtGui.QTableWidgetItem):
|
class BasicCell(QtWidgets.QTableWidgetItem):
|
||||||
"""基础的单元格"""
|
"""基础的单元格"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
@ -60,7 +61,7 @@ class BasicCell(QtGui.QTableWidgetItem):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class NumCell(QtGui.QTableWidgetItem):
|
class NumCell(QtWidgets.QTableWidgetItem):
|
||||||
"""用来显示数字的单元格"""
|
"""用来显示数字的单元格"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
@ -85,7 +86,7 @@ class NumCell(QtGui.QTableWidgetItem):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class DirectionCell(QtGui.QTableWidgetItem):
|
class DirectionCell(QtWidgets.QTableWidgetItem):
|
||||||
"""用来显示买卖方向的单元格"""
|
"""用来显示买卖方向的单元格"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
@ -100,14 +101,14 @@ class DirectionCell(QtGui.QTableWidgetItem):
|
|||||||
def setContent(self, text):
|
def setContent(self, text):
|
||||||
"""设置内容"""
|
"""设置内容"""
|
||||||
if text == DIRECTION_LONG or text == DIRECTION_NET:
|
if text == DIRECTION_LONG or text == DIRECTION_NET:
|
||||||
self.setForeground(QtGui.QColor('red'))
|
self.setForeground(QtWidgets.QColor('red'))
|
||||||
elif text == DIRECTION_SHORT:
|
elif text == DIRECTION_SHORT:
|
||||||
self.setForeground(QtGui.QColor('green'))
|
self.setForeground(QtWidgets.QColor('green'))
|
||||||
self.setText(text)
|
self.setText(text)
|
||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class NameCell(QtGui.QTableWidgetItem):
|
class NameCell(QtWidgets.QTableWidgetItem):
|
||||||
"""用来显示合约中文的单元格"""
|
"""用来显示合约中文的单元格"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
@ -134,7 +135,7 @@ class NameCell(QtGui.QTableWidgetItem):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class BidCell(QtGui.QTableWidgetItem):
|
class BidCell(QtWidgets.QTableWidgetItem):
|
||||||
"""买价单元格"""
|
"""买价单元格"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
@ -143,8 +144,8 @@ class BidCell(QtGui.QTableWidgetItem):
|
|||||||
super(BidCell, self).__init__()
|
super(BidCell, self).__init__()
|
||||||
self.data = None
|
self.data = None
|
||||||
|
|
||||||
self.setForeground(QtGui.QColor('black'))
|
self.setForeground(QtWidgets.QColor('black'))
|
||||||
self.setBackground(QtGui.QColor(255,174,201))
|
self.setBackground(QtWidgets.QColor(255,174,201))
|
||||||
|
|
||||||
if text:
|
if text:
|
||||||
self.setContent(text)
|
self.setContent(text)
|
||||||
@ -156,7 +157,7 @@ class BidCell(QtGui.QTableWidgetItem):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class AskCell(QtGui.QTableWidgetItem):
|
class AskCell(QtWidgets.QTableWidgetItem):
|
||||||
"""买价单元格"""
|
"""买价单元格"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
@ -165,8 +166,8 @@ class AskCell(QtGui.QTableWidgetItem):
|
|||||||
super(AskCell, self).__init__()
|
super(AskCell, self).__init__()
|
||||||
self.data = None
|
self.data = None
|
||||||
|
|
||||||
self.setForeground(QtGui.QColor('black'))
|
self.setForeground(QtWidgets.QColor('black'))
|
||||||
self.setBackground(QtGui.QColor(160,255,160))
|
self.setBackground(QtWidgets.QColor(160,255,160))
|
||||||
|
|
||||||
if text:
|
if text:
|
||||||
self.setContent(text)
|
self.setContent(text)
|
||||||
@ -178,7 +179,7 @@ class AskCell(QtGui.QTableWidgetItem):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class PnlCell(QtGui.QTableWidgetItem):
|
class PnlCell(QtWidgets.QTableWidgetItem):
|
||||||
"""显示盈亏的单元格"""
|
"""显示盈亏的单元格"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
@ -208,7 +209,7 @@ class PnlCell(QtGui.QTableWidgetItem):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class BasicMonitor(QtGui.QTableWidget):
|
class BasicMonitor(QtWidgets.QTableWidget):
|
||||||
"""
|
"""
|
||||||
基础监控
|
基础监控
|
||||||
|
|
||||||
@ -216,7 +217,7 @@ class BasicMonitor(QtGui.QTableWidget):
|
|||||||
{'chinese': u'中文名', 'cellType': BasicCell}
|
{'chinese': u'中文名', 'cellType': BasicCell}
|
||||||
|
|
||||||
"""
|
"""
|
||||||
signal = QtCore.pyqtSignal(type(Event()))
|
signal = QtCore.Signal(type(Event()))
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
def __init__(self, mainEngine=None, eventEngine=None, parent=None):
|
def __init__(self, mainEngine=None, eventEngine=None, parent=None):
|
||||||
@ -374,7 +375,7 @@ class BasicMonitor(QtGui.QTableWidget):
|
|||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
def resizeColumns(self):
|
def resizeColumns(self):
|
||||||
"""调整各列的大小"""
|
"""调整各列的大小"""
|
||||||
self.horizontalHeader().resizeSections(QtGui.QHeaderView.ResizeToContents)
|
self.horizontalHeader().resizeSections(QtWidgets.QHeaderView.ResizeToContents)
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
def setSorting(self, sorting):
|
def setSorting(self, sorting):
|
||||||
@ -388,7 +389,7 @@ class BasicMonitor(QtGui.QTableWidget):
|
|||||||
self.menu.close()
|
self.menu.close()
|
||||||
|
|
||||||
# 获取想要保存的文件名
|
# 获取想要保存的文件名
|
||||||
path = QtGui.QFileDialog.getSaveFileName(self, vtText.SAVE_DATA, '', 'CSV(*.csv)')
|
path = QtWidgets.QFileDialog.getSaveFileName(self, vtText.SAVE_DATA, '', 'CSV(*.csv)')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if not path.isEmpty():
|
if not path.isEmpty():
|
||||||
@ -416,9 +417,9 @@ class BasicMonitor(QtGui.QTableWidget):
|
|||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
def initMenu(self):
|
def initMenu(self):
|
||||||
"""初始化右键菜单"""
|
"""初始化右键菜单"""
|
||||||
self.menu = QtGui.QMenu(self)
|
self.menu = QtWidgets.QMenu(self)
|
||||||
|
|
||||||
saveAction = QtGui.QAction(vtText.SAVE_DATA, self)
|
saveAction = QtWidgets.QAction(vtText.SAVE_DATA, self)
|
||||||
saveAction.triggered.connect(self.saveToCsv)
|
saveAction.triggered.connect(self.saveToCsv)
|
||||||
|
|
||||||
self.menu.addAction(saveAction)
|
self.menu.addAction(saveAction)
|
||||||
@ -426,7 +427,7 @@ class BasicMonitor(QtGui.QTableWidget):
|
|||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
def contextMenuEvent(self, event):
|
def contextMenuEvent(self, event):
|
||||||
"""右键点击事件"""
|
"""右键点击事件"""
|
||||||
self.menu.popup(QtGui.QCursor.pos())
|
self.menu.popup(QtWidgets.QCursor.pos())
|
||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
@ -665,9 +666,9 @@ class AccountMonitor(BasicMonitor):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class TradingWidget(QtGui.QFrame):
|
class TradingWidget(QtWidgets.QFrame):
|
||||||
"""简单交易组件"""
|
"""简单交易组件"""
|
||||||
signal = QtCore.pyqtSignal(type(Event()))
|
signal = QtCore.Signal(type(Event()))
|
||||||
|
|
||||||
directionList = [DIRECTION_LONG,
|
directionList = [DIRECTION_LONG,
|
||||||
DIRECTION_SHORT]
|
DIRECTION_SHORT]
|
||||||
@ -736,53 +737,53 @@ class TradingWidget(QtGui.QFrame):
|
|||||||
self.setLineWidth(1)
|
self.setLineWidth(1)
|
||||||
|
|
||||||
# 左边部分
|
# 左边部分
|
||||||
labelSymbol = QtGui.QLabel(vtText.CONTRACT_SYMBOL)
|
labelSymbol = QtWidgets.QLabel(vtText.CONTRACT_SYMBOL)
|
||||||
labelName = QtGui.QLabel(vtText.CONTRACT_NAME)
|
labelName = QtWidgets.QLabel(vtText.CONTRACT_NAME)
|
||||||
labelDirection = QtGui.QLabel(vtText.DIRECTION)
|
labelDirection = QtWidgets.QLabel(vtText.DIRECTION)
|
||||||
labelOffset = QtGui.QLabel(vtText.OFFSET)
|
labelOffset = QtWidgets.QLabel(vtText.OFFSET)
|
||||||
labelPrice = QtGui.QLabel(vtText.PRICE)
|
labelPrice = QtWidgets.QLabel(vtText.PRICE)
|
||||||
self.checkFixed = QtGui.QCheckBox(u'') # 价格固定选择框
|
self.checkFixed = QtWidgets.QCheckBox(u'') # 价格固定选择框
|
||||||
labelVolume = QtGui.QLabel(vtText.VOLUME)
|
labelVolume = QtWidgets.QLabel(vtText.VOLUME)
|
||||||
labelPriceType = QtGui.QLabel(vtText.PRICE_TYPE)
|
labelPriceType = QtWidgets.QLabel(vtText.PRICE_TYPE)
|
||||||
labelExchange = QtGui.QLabel(vtText.EXCHANGE)
|
labelExchange = QtWidgets.QLabel(vtText.EXCHANGE)
|
||||||
labelCurrency = QtGui.QLabel(vtText.CURRENCY)
|
labelCurrency = QtWidgets.QLabel(vtText.CURRENCY)
|
||||||
labelProductClass = QtGui.QLabel(vtText.PRODUCT_CLASS)
|
labelProductClass = QtWidgets.QLabel(vtText.PRODUCT_CLASS)
|
||||||
labelGateway = QtGui.QLabel(vtText.GATEWAY)
|
labelGateway = QtWidgets.QLabel(vtText.GATEWAY)
|
||||||
|
|
||||||
self.lineSymbol = QtGui.QLineEdit()
|
self.lineSymbol = QtWidgets.QLineEdit()
|
||||||
self.lineName = QtGui.QLineEdit()
|
self.lineName = QtWidgets.QLineEdit()
|
||||||
|
|
||||||
self.comboDirection = QtGui.QComboBox()
|
self.comboDirection = QtWidgets.QComboBox()
|
||||||
self.comboDirection.addItems(self.directionList)
|
self.comboDirection.addItems(self.directionList)
|
||||||
|
|
||||||
self.comboOffset = QtGui.QComboBox()
|
self.comboOffset = QtWidgets.QComboBox()
|
||||||
self.comboOffset.addItems(self.offsetList)
|
self.comboOffset.addItems(self.offsetList)
|
||||||
|
|
||||||
self.spinPrice = QtGui.QDoubleSpinBox()
|
self.spinPrice = QtWidgets.QDoubleSpinBox()
|
||||||
self.spinPrice.setDecimals(4)
|
self.spinPrice.setDecimals(4)
|
||||||
self.spinPrice.setMinimum(0)
|
self.spinPrice.setMinimum(0)
|
||||||
self.spinPrice.setMaximum(100000)
|
self.spinPrice.setMaximum(100000)
|
||||||
|
|
||||||
self.spinVolume = QtGui.QSpinBox()
|
self.spinVolume = QtWidgets.QSpinBox()
|
||||||
self.spinVolume.setMinimum(0)
|
self.spinVolume.setMinimum(0)
|
||||||
self.spinVolume.setMaximum(1000000)
|
self.spinVolume.setMaximum(1000000)
|
||||||
|
|
||||||
self.comboPriceType = QtGui.QComboBox()
|
self.comboPriceType = QtWidgets.QComboBox()
|
||||||
self.comboPriceType.addItems(self.priceTypeList)
|
self.comboPriceType.addItems(self.priceTypeList)
|
||||||
|
|
||||||
self.comboExchange = QtGui.QComboBox()
|
self.comboExchange = QtWidgets.QComboBox()
|
||||||
self.comboExchange.addItems(self.exchangeList)
|
self.comboExchange.addItems(self.exchangeList)
|
||||||
|
|
||||||
self.comboCurrency = QtGui.QComboBox()
|
self.comboCurrency = QtWidgets.QComboBox()
|
||||||
self.comboCurrency.addItems(self.currencyList)
|
self.comboCurrency.addItems(self.currencyList)
|
||||||
|
|
||||||
self.comboProductClass = QtGui.QComboBox()
|
self.comboProductClass = QtWidgets.QComboBox()
|
||||||
self.comboProductClass.addItems(self.productClassList)
|
self.comboProductClass.addItems(self.productClassList)
|
||||||
|
|
||||||
self.comboGateway = QtGui.QComboBox()
|
self.comboGateway = QtWidgets.QComboBox()
|
||||||
self.comboGateway.addItems(self.gatewayList)
|
self.comboGateway.addItems(self.gatewayList)
|
||||||
|
|
||||||
gridleft = QtGui.QGridLayout()
|
gridleft = QtWidgets.QGridLayout()
|
||||||
gridleft.addWidget(labelSymbol, 0, 0)
|
gridleft.addWidget(labelSymbol, 0, 0)
|
||||||
gridleft.addWidget(labelName, 1, 0)
|
gridleft.addWidget(labelName, 1, 0)
|
||||||
gridleft.addWidget(labelDirection, 2, 0)
|
gridleft.addWidget(labelDirection, 2, 0)
|
||||||
@ -809,48 +810,48 @@ class TradingWidget(QtGui.QFrame):
|
|||||||
gridleft.addWidget(self.comboGateway, 10, 1, 1, -1)
|
gridleft.addWidget(self.comboGateway, 10, 1, 1, -1)
|
||||||
|
|
||||||
# 右边部分
|
# 右边部分
|
||||||
labelBid1 = QtGui.QLabel(vtText.BID_1)
|
labelBid1 = QtWidgets.QLabel(vtText.BID_1)
|
||||||
labelBid2 = QtGui.QLabel(vtText.BID_2)
|
labelBid2 = QtWidgets.QLabel(vtText.BID_2)
|
||||||
labelBid3 = QtGui.QLabel(vtText.BID_3)
|
labelBid3 = QtWidgets.QLabel(vtText.BID_3)
|
||||||
labelBid4 = QtGui.QLabel(vtText.BID_4)
|
labelBid4 = QtWidgets.QLabel(vtText.BID_4)
|
||||||
labelBid5 = QtGui.QLabel(vtText.BID_5)
|
labelBid5 = QtWidgets.QLabel(vtText.BID_5)
|
||||||
|
|
||||||
labelAsk1 = QtGui.QLabel(vtText.ASK_1)
|
labelAsk1 = QtWidgets.QLabel(vtText.ASK_1)
|
||||||
labelAsk2 = QtGui.QLabel(vtText.ASK_2)
|
labelAsk2 = QtWidgets.QLabel(vtText.ASK_2)
|
||||||
labelAsk3 = QtGui.QLabel(vtText.ASK_3)
|
labelAsk3 = QtWidgets.QLabel(vtText.ASK_3)
|
||||||
labelAsk4 = QtGui.QLabel(vtText.ASK_4)
|
labelAsk4 = QtWidgets.QLabel(vtText.ASK_4)
|
||||||
labelAsk5 = QtGui.QLabel(vtText.ASK_5)
|
labelAsk5 = QtWidgets.QLabel(vtText.ASK_5)
|
||||||
|
|
||||||
self.labelBidPrice1 = QtGui.QLabel()
|
self.labelBidPrice1 = QtWidgets.QLabel()
|
||||||
self.labelBidPrice2 = QtGui.QLabel()
|
self.labelBidPrice2 = QtWidgets.QLabel()
|
||||||
self.labelBidPrice3 = QtGui.QLabel()
|
self.labelBidPrice3 = QtWidgets.QLabel()
|
||||||
self.labelBidPrice4 = QtGui.QLabel()
|
self.labelBidPrice4 = QtWidgets.QLabel()
|
||||||
self.labelBidPrice5 = QtGui.QLabel()
|
self.labelBidPrice5 = QtWidgets.QLabel()
|
||||||
self.labelBidVolume1 = QtGui.QLabel()
|
self.labelBidVolume1 = QtWidgets.QLabel()
|
||||||
self.labelBidVolume2 = QtGui.QLabel()
|
self.labelBidVolume2 = QtWidgets.QLabel()
|
||||||
self.labelBidVolume3 = QtGui.QLabel()
|
self.labelBidVolume3 = QtWidgets.QLabel()
|
||||||
self.labelBidVolume4 = QtGui.QLabel()
|
self.labelBidVolume4 = QtWidgets.QLabel()
|
||||||
self.labelBidVolume5 = QtGui.QLabel()
|
self.labelBidVolume5 = QtWidgets.QLabel()
|
||||||
|
|
||||||
self.labelAskPrice1 = QtGui.QLabel()
|
self.labelAskPrice1 = QtWidgets.QLabel()
|
||||||
self.labelAskPrice2 = QtGui.QLabel()
|
self.labelAskPrice2 = QtWidgets.QLabel()
|
||||||
self.labelAskPrice3 = QtGui.QLabel()
|
self.labelAskPrice3 = QtWidgets.QLabel()
|
||||||
self.labelAskPrice4 = QtGui.QLabel()
|
self.labelAskPrice4 = QtWidgets.QLabel()
|
||||||
self.labelAskPrice5 = QtGui.QLabel()
|
self.labelAskPrice5 = QtWidgets.QLabel()
|
||||||
self.labelAskVolume1 = QtGui.QLabel()
|
self.labelAskVolume1 = QtWidgets.QLabel()
|
||||||
self.labelAskVolume2 = QtGui.QLabel()
|
self.labelAskVolume2 = QtWidgets.QLabel()
|
||||||
self.labelAskVolume3 = QtGui.QLabel()
|
self.labelAskVolume3 = QtWidgets.QLabel()
|
||||||
self.labelAskVolume4 = QtGui.QLabel()
|
self.labelAskVolume4 = QtWidgets.QLabel()
|
||||||
self.labelAskVolume5 = QtGui.QLabel()
|
self.labelAskVolume5 = QtWidgets.QLabel()
|
||||||
|
|
||||||
labelLast = QtGui.QLabel(vtText.LAST)
|
labelLast = QtWidgets.QLabel(vtText.LAST)
|
||||||
self.labelLastPrice = QtGui.QLabel()
|
self.labelLastPrice = QtWidgets.QLabel()
|
||||||
self.labelReturn = QtGui.QLabel()
|
self.labelReturn = QtWidgets.QLabel()
|
||||||
|
|
||||||
self.labelLastPrice.setMinimumWidth(60)
|
self.labelLastPrice.setMinimumWidth(60)
|
||||||
self.labelReturn.setMinimumWidth(60)
|
self.labelReturn.setMinimumWidth(60)
|
||||||
|
|
||||||
gridRight = QtGui.QGridLayout()
|
gridRight = QtWidgets.QGridLayout()
|
||||||
gridRight.addWidget(labelAsk5, 0, 0)
|
gridRight.addWidget(labelAsk5, 0, 0)
|
||||||
gridRight.addWidget(labelAsk4, 1, 0)
|
gridRight.addWidget(labelAsk4, 1, 0)
|
||||||
gridRight.addWidget(labelAsk3, 2, 0)
|
gridRight.addWidget(labelAsk3, 2, 0)
|
||||||
@ -888,19 +889,19 @@ class TradingWidget(QtGui.QFrame):
|
|||||||
gridRight.addWidget(self.labelBidVolume5, 10, 2)
|
gridRight.addWidget(self.labelBidVolume5, 10, 2)
|
||||||
|
|
||||||
# 发单按钮
|
# 发单按钮
|
||||||
buttonSendOrder = QtGui.QPushButton(vtText.SEND_ORDER)
|
buttonSendOrder = QtWidgets.QPushButton(vtText.SEND_ORDER)
|
||||||
buttonCancelAll = QtGui.QPushButton(vtText.CANCEL_ALL)
|
buttonCancelAll = QtWidgets.QPushButton(vtText.CANCEL_ALL)
|
||||||
|
|
||||||
size = buttonSendOrder.sizeHint()
|
size = buttonSendOrder.sizeHint()
|
||||||
buttonSendOrder.setMinimumHeight(size.height()*2) # 把按钮高度设为默认两倍
|
buttonSendOrder.setMinimumHeight(size.height()*2) # 把按钮高度设为默认两倍
|
||||||
buttonCancelAll.setMinimumHeight(size.height()*2)
|
buttonCancelAll.setMinimumHeight(size.height()*2)
|
||||||
|
|
||||||
# 整合布局
|
# 整合布局
|
||||||
hbox = QtGui.QHBoxLayout()
|
hbox = QtWidgets.QHBoxLayout()
|
||||||
hbox.addLayout(gridleft)
|
hbox.addLayout(gridleft)
|
||||||
hbox.addLayout(gridRight)
|
hbox.addLayout(gridRight)
|
||||||
|
|
||||||
vbox = QtGui.QVBoxLayout()
|
vbox = QtWidgets.QVBoxLayout()
|
||||||
vbox.addLayout(hbox)
|
vbox.addLayout(hbox)
|
||||||
vbox.addWidget(buttonSendOrder)
|
vbox.addWidget(buttonSendOrder)
|
||||||
vbox.addWidget(buttonCancelAll)
|
vbox.addWidget(buttonCancelAll)
|
||||||
@ -1180,7 +1181,7 @@ class ContractMonitor(BasicMonitor):
|
|||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
def addMenuAction(self):
|
def addMenuAction(self):
|
||||||
"""增加右键菜单内容"""
|
"""增加右键菜单内容"""
|
||||||
refreshAction = QtGui.QAction(vtText.REFRESH, self)
|
refreshAction = QtWidgets.QAction(vtText.REFRESH, self)
|
||||||
refreshAction.triggered.connect(self.refresh)
|
refreshAction.triggered.connect(self.refresh)
|
||||||
|
|
||||||
self.menu.addAction(refreshAction)
|
self.menu.addAction(refreshAction)
|
||||||
@ -1198,7 +1199,7 @@ class ContractMonitor(BasicMonitor):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class ContractManager(QtGui.QWidget):
|
class ContractManager(QtWidgets.QWidget):
|
||||||
"""合约管理组件"""
|
"""合约管理组件"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
@ -1215,18 +1216,18 @@ class ContractManager(QtGui.QWidget):
|
|||||||
"""初始化界面"""
|
"""初始化界面"""
|
||||||
self.setWindowTitle(vtText.CONTRACT_SEARCH)
|
self.setWindowTitle(vtText.CONTRACT_SEARCH)
|
||||||
|
|
||||||
self.lineFilter = QtGui.QLineEdit()
|
self.lineFilter = QtWidgets.QLineEdit()
|
||||||
self.buttonFilter = QtGui.QPushButton(vtText.SEARCH)
|
self.buttonFilter = QtWidgets.QPushButton(vtText.SEARCH)
|
||||||
self.buttonFilter.clicked.connect(self.filterContract)
|
self.buttonFilter.clicked.connect(self.filterContract)
|
||||||
self.monitor = ContractMonitor(self.mainEngine)
|
self.monitor = ContractMonitor(self.mainEngine)
|
||||||
self.monitor.refresh()
|
self.monitor.refresh()
|
||||||
|
|
||||||
hbox = QtGui.QHBoxLayout()
|
hbox = QtWidgets.QHBoxLayout()
|
||||||
hbox.addWidget(self.lineFilter)
|
hbox.addWidget(self.lineFilter)
|
||||||
hbox.addWidget(self.buttonFilter)
|
hbox.addWidget(self.buttonFilter)
|
||||||
hbox.addStretch()
|
hbox.addStretch()
|
||||||
|
|
||||||
vbox = QtGui.QVBoxLayout()
|
vbox = QtWidgets.QVBoxLayout()
|
||||||
vbox.addLayout(hbox)
|
vbox.addLayout(hbox)
|
||||||
vbox.addWidget(self.monitor)
|
vbox.addWidget(self.monitor)
|
||||||
|
|
||||||
|
@ -10,9 +10,9 @@ from riskManager.uiRmWidget import RmEngineManager
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class MainWindow(QtGui.QMainWindow):
|
class MainWindow(QtWidgets.QMainWindow):
|
||||||
"""主窗口"""
|
"""主窗口"""
|
||||||
signalStatusBar = QtCore.pyqtSignal(type(Event()))
|
signalStatusBar = QtCore.Signal(type(Event()))
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
def __init__(self, mainEngine, eventEngine):
|
def __init__(self, mainEngine, eventEngine):
|
||||||
@ -122,7 +122,7 @@ class MainWindow(QtGui.QMainWindow):
|
|||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
def initStatusBar(self):
|
def initStatusBar(self):
|
||||||
"""初始化状态栏"""
|
"""初始化状态栏"""
|
||||||
self.statusLabel = QtGui.QLabel()
|
self.statusLabel = QtWidgets.QLabel()
|
||||||
self.statusLabel.setAlignment(QtCore.Qt.AlignLeft)
|
self.statusLabel.setAlignment(QtCore.Qt.AlignLeft)
|
||||||
|
|
||||||
self.statusBar().addPermanentWidget(self.statusLabel)
|
self.statusBar().addPermanentWidget(self.statusLabel)
|
||||||
@ -168,7 +168,7 @@ class MainWindow(QtGui.QMainWindow):
|
|||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
def createAction(self, actionName, function):
|
def createAction(self, actionName, function):
|
||||||
"""创建操作功能"""
|
"""创建操作功能"""
|
||||||
action = QtGui.QAction(actionName, self)
|
action = QtWidgets.QAction(actionName, self)
|
||||||
action.triggered.connect(function)
|
action.triggered.connect(function)
|
||||||
return action
|
return action
|
||||||
|
|
||||||
@ -226,11 +226,11 @@ class MainWindow(QtGui.QMainWindow):
|
|||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
def closeEvent(self, event):
|
def closeEvent(self, event):
|
||||||
"""关闭事件"""
|
"""关闭事件"""
|
||||||
reply = QtGui.QMessageBox.question(self, vtText.EXIT,
|
reply = QtWidgets.QMessageBox.question(self, vtText.EXIT,
|
||||||
vtText.CONFIRM_EXIT, QtGui.QMessageBox.Yes |
|
vtText.CONFIRM_EXIT, QtWidgets.QMessageBox.Yes |
|
||||||
QtGui.QMessageBox.No, QtGui.QMessageBox.No)
|
QtWidgets.QMessageBox.No, QtWidgets.QMessageBox.No)
|
||||||
|
|
||||||
if reply == QtGui.QMessageBox.Yes:
|
if reply == QtWidgets.QMessageBox.Yes:
|
||||||
for widget in self.widgetDict.values():
|
for widget in self.widgetDict.values():
|
||||||
widget.close()
|
widget.close()
|
||||||
self.saveWindowSettings('custom')
|
self.saveWindowSettings('custom')
|
||||||
@ -244,7 +244,7 @@ class MainWindow(QtGui.QMainWindow):
|
|||||||
def createDock(self, widgetClass, widgetName, widgetArea):
|
def createDock(self, widgetClass, widgetName, widgetArea):
|
||||||
"""创建停靠组件"""
|
"""创建停靠组件"""
|
||||||
widget = widgetClass(self.mainEngine, self.eventEngine)
|
widget = widgetClass(self.mainEngine, self.eventEngine)
|
||||||
dock = QtGui.QDockWidget(widgetName)
|
dock = QtWidgets.QDockWidget(widgetName)
|
||||||
dock.setWidget(widget)
|
dock.setWidget(widget)
|
||||||
dock.setObjectName(widgetName)
|
dock.setObjectName(widgetName)
|
||||||
dock.setFeatures(dock.DockWidgetFloatable|dock.DockWidgetMovable)
|
dock.setFeatures(dock.DockWidgetFloatable|dock.DockWidgetMovable)
|
||||||
@ -282,7 +282,7 @@ class MainWindow(QtGui.QMainWindow):
|
|||||||
|
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
class AboutWidget(QtGui.QDialog):
|
class AboutWidget(QtWidgets.QDialog):
|
||||||
"""显示关于信息"""
|
"""显示关于信息"""
|
||||||
|
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
@ -308,11 +308,11 @@ class AboutWidget(QtGui.QDialog):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
label = QtGui.QLabel()
|
label = QtWidgets.QLabel()
|
||||||
label.setText(text)
|
label.setText(text)
|
||||||
label.setMinimumWidth(500)
|
label.setMinimumWidth(500)
|
||||||
|
|
||||||
vbox = QtGui.QVBoxLayout()
|
vbox = QtWidgets.QVBoxLayout()
|
||||||
vbox.addWidget(label)
|
vbox.addWidget(label)
|
||||||
|
|
||||||
self.setLayout(vbox)
|
self.setLayout(vbox)
|
||||||
|
@ -4,7 +4,8 @@ import sys
|
|||||||
import os
|
import os
|
||||||
import platform
|
import platform
|
||||||
|
|
||||||
from PyQt4 import QtGui, QtCore
|
#from PyQt4 import QtGui, QtCore
|
||||||
|
from qtpy import QtWidgets, QtGui
|
||||||
|
|
||||||
from vnpy.trader.vtGlobal import globalSetting
|
from vnpy.trader.vtGlobal import globalSetting
|
||||||
from vnpy.trader.vtEngine import MainEngine
|
from vnpy.trader.vtEngine import MainEngine
|
||||||
@ -29,7 +30,7 @@ def main():
|
|||||||
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID('vn.trader')
|
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID('vn.trader')
|
||||||
|
|
||||||
# 初始化Qt应用对象
|
# 初始化Qt应用对象
|
||||||
app = QtGui.QApplication(sys.argv)
|
app = QtWidgets.QApplication(sys.argv)
|
||||||
app.setWindowIcon(QtGui.QIcon(ICON_FILENAME))
|
app.setWindowIcon(QtGui.QIcon(ICON_FILENAME))
|
||||||
app.setFont(BASIC_FONT)
|
app.setFont(BASIC_FONT)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user