def __init__(self, analysisEngine): # 初始化方法 QtGui.QWidget.__init__(self) # 调用父类初始化方法 self.setWindowTitle('NetCurve') # 设置窗口标题 self.path = os.getcwd() + '/ctaLogFile/ctaPosFile' # self.path = os.getcwd() + '/statement/netSource' self.analysisEngine = analysisEngine # self.resize(300,200) # 设置窗口大小 gridlayout = QtGui.QGridLayout() # 创建布局组件 self.cbAccount = QtGui.QComboBox() self.cbContract = QtGui.QComboBox() self.buttonStart = QtGui.QPushButton() self.lineedit = QtGui.QLineEdit('1000000') self.labelAcct = QtGui.QLabel(u'账户') self.labelCon = QtGui.QLabel(u'标的') self.labelAmount = QtGui.QLabel(u'初始金额') self.labelEvaluate = QtGui.QLabel() tree = lambda: collections.defaultdict(tree) self.dataList = tree() self.fileName = [] self.loadAllPosFile() self.cbAccount.addItems( [k for k in self.groupByPosFile('name').keys()]) self.cbContract.addItems( [k for k in self.groupByPosFile('contract').keys()])
def initUi(self): """初始化界面""" self.setWindowTitle(u'登录') # 设置界面 self.userName = QtGui.QLineEdit() self.password = QtGui.QTextEdit() self.comboStrategy = QtGui.QComboBox() grid = QtGui.QGridLayout() grid.addWidget(LoginLine(), 1, 0, 1, 2) grid.addWidget(QtGui.QLabel(u'用户名'), 2, 0) grid.addWidget(self.userName, 2, 1) grid.addWidget(QtGui.QLabel(u'令牌'), 3, 0) grid.addWidget(self.password, 3, 1) grid.addWidget(LoginLine(), 4, 0, 1, 2) grid.addWidget(QtGui.QLabel(u'策略'), 5, 0) grid.addWidget(self.comboStrategy, 5, 1) grid.addWidget(LoginLine(), 6, 0, 1, 2) self.buttonCancel = QtGui.QPushButton(u'取消') self.buttonConfirm = QtGui.QPushButton(u'确认') hbox = QtGui.QHBoxLayout() hbox.addWidget(self.buttonConfirm) hbox.addWidget(self.buttonCancel) self.buttonConfirm.setDefault(True) vbox = QtGui.QVBoxLayout() vbox.addLayout(grid) vbox.addLayout(hbox) self.setLayout(vbox) # 设为固定大小 self.setFixedSize(self.sizeHint()) self.buttonCancel.clicked.connect(self.close) self.buttonConfirm.clicked.connect(self.login) self.userName.returnPressed.connect(self.password.setFocus) # init username & token username = self.setting['username'] token = self.setting['token'] self.userName.setText(username) self.password.setText(token)
def initUi(self): """""" QtGui.QWidget.__init__(self) # 调用父类初始化方法 self.setWindowTitle(u'设置参数') self.resize(300,400) # 设置窗口大小 gridlayout = QtGui.QGridLayout() # 创建布局组件 i = 0 lName = QtGui.QLabel(u'参数') lValue = QtGui.QLabel(u'数值') gridlayout.addWidget(lName, i, 0 ) gridlayout.addWidget(lValue, i, 1 ) for name in self.paramDict: i += 1 label = QtGui.QLabel(name) # 创建单选框 self.valueEdit[name] = QtGui.QLineEdit() self.valueEdit[name].setText(str(self.paramDict[name])) self.valueEdit[name].setFocusPolicy(QtCore.Qt.NoFocus) gridlayout.addWidget(label, i, 0 ) # 添加文本 gridlayout.addWidget(self.valueEdit[name], i, 1) # 添加文本框 vbox = QtGui.QVBoxLayout() vbox.addLayout(gridlayout) self.addButton(vbox) self.setLayout(vbox)
def initLabel(self): if self.name == "": strategyname_label = QtGui.QLabel(u"策略名", self) strategyname_label.setGeometry(QtCore.QRect(25, 25, 70, 22)) self.strategyname_label = QtGui.QLineEdit(self) self.strategyname_label.setGeometry(QtCore.QRect(120, 25, 70, 22)) self.closeFirst = QtGui.QCheckBox(u'平仓优先', self) self.closeFirst.setGeometry(QtCore.QRect(210, 25, 90, 22)) label_symbol = QtGui.QLabel(u"合约", self) label_symbol.setGeometry(QtCore.QRect(25, 50, 70, 22)) self.lineEdit_label_symbol = QtGui.QLineEdit(self) self.lineEdit_label_symbol.setGeometry(QtCore.QRect(120, 50, 70, 22)) symbolDirection = QtGui.QLabel(u"方向", self) symbolDirection.setGeometry(QtCore.QRect(210, 50, 70, 22)) self.directionCombo = QtGui.QComboBox(self) self.directionCombo.addItem("") self.directionCombo.addItem("long") self.directionCombo.addItem('short') self.directionCombo.setGeometry(QtCore.QRect(245, 50, 50, 22)) label_longBuyUnit = QtGui.QLabel(u"每笔数量", self) label_longBuyUnit.setGeometry(QtCore.QRect(25, 75, 50, 22)) self.lineEdit_label_longBuyUnit = QtGui.QLineEdit(self) self.lineEdit_label_longBuyUnit.setGeometry( QtCore.QRect(120, 75, 70, 22)) maxStpLos = QtGui.QLabel(u'止损', self) maxStpLos.setGeometry(QtCore.QRect(210, 75, 70, 22)) self.lineEdit_label_maxStpLos = QtGui.QLineEdit(self) self.lineEdit_label_maxStpLos.setGeometry(QtCore.QRect( 245, 75, 60, 22)) label_longPriceCoe = QtGui.QLabel(u"价格系数", self) label_longPriceCoe.setGeometry(QtCore.QRect(25, 100, 50, 22)) self.lineEdit_label_longPriceCoe = QtGui.QLineEdit(self) self.lineEdit_label_longPriceCoe.setGeometry( QtCore.QRect(120, 100, 70, 22)) label_longPosition = QtGui.QLabel(u"当前持仓量", self) label_longPosition.setGeometry(QtCore.QRect(25, 125, 50, 22)) self.lineEdit_label_longPosition = QtGui.QLineEdit(self) self.lineEdit_label_longPosition.setGeometry( QtCore.QRect(120, 125, 70, 22)) label_stpProfit = QtGui.QLabel(u"止赢", self) label_stpProfit.setGeometry(QtCore.QRect(25, 150, 50, 22)) self.lineEdit_label_stpProfit = QtGui.QLineEdit(self) self.lineEdit_label_stpProfit.setGeometry( QtCore.QRect(120, 150, 70, 22)) label_slippage = QtGui.QLabel(u"滑点", self) label_slippage.setGeometry(QtCore.QRect(25, 175, 50, 22)) self.lineEdit_label_slippage = QtGui.QLineEdit(self) self.lineEdit_label_slippage.setGeometry(QtCore.QRect( 120, 175, 70, 22)) label_mail = QtGui.QLabel(u"邮箱", self) label_mail.setGeometry(QtCore.QRect(25, 200, 50, 22)) self.lineEdit_label_mail = QtGui.QLineEdit(self) self.lineEdit_label_mail.setGeometry(QtCore.QRect(120, 200, 200, 22)) label_buyPrice = QtGui.QLabel(u"开仓价差", self) label_buyPrice.setGeometry(QtCore.QRect(25, 225, 50, 22)) self.lineEdit_label_buyPrice = QtGui.QLineEdit(self) self.lineEdit_label_buyPrice.setGeometry( QtCore.QRect(120, 225, 200, 22)) label_stoptime = QtGui.QLabel(u"停止时间", self) label_stoptime.setGeometry(QtCore.QRect(25, 250, 50, 22)) self.lineEdit_label_stoptime = QtGui.QLineEdit(self) self.lineEdit_label_stoptime.setGeometry( QtCore.QRect(120, 250, 200, 22)) self.isFilter = QtGui.QCheckBox(u'当波动大于', self) self.isFilter.setGeometry(QtCore.QRect(25, 275, 150, 22)) self.lineEdit_label_var = QtGui.QLineEdit(self) self.lineEdit_label_var.setGeometry(QtCore.QRect(120, 275, 20, 22)) label_pct = QtGui.QLabel(u'% 时忽略', self) label_pct.setGeometry(QtCore.QRect(141, 275, 80, 22))
def initUi(self): """初始化界面""" self.setWindowTitle(u'缠论策略') # 金融图 self.PriceW = PriceWidget(self.eventEngine, self.chanlunEngine, self) # 期货代码输入框 self.codeEdit = QtGui.QLineEdit() self.codeEdit.setPlaceholderText(u'在此输入期货代码') self.codeEdit.setMaximumWidth(200) # 按钮 penButton = QtGui.QPushButton(u'分笔') segmentButton = QtGui.QPushButton(u'分段') shopButton = QtGui.QPushButton(u'买卖点') restoreButton = QtGui.QPushButton(u'还原') penButton.clicked.connect(self.pen) segmentButton.clicked.connect(self.segment) shopButton.clicked.connect(self.shop) restoreButton.clicked.connect(self.restore) # Chanlun组件的日志监控 self.chanlunLogMonitor = QtGui.QTextEdit() self.chanlunLogMonitor.setReadOnly(True) self.chanlunLogMonitor.setMaximumHeight(200) # 设置布局 self.hbox2 = QtGui.QHBoxLayout() self.hbox2.addWidget(self.codeEdit) self.hbox2.addWidget(penButton) self.hbox2.addWidget(segmentButton) self.hbox2.addWidget(shopButton) self.hbox2.addWidget(restoreButton) self.hbox2.addStretch() tickButton = QtGui.QPushButton(u'Tick') oneMButton = QtGui.QPushButton(u"1分") fiveMButton = QtGui.QPushButton(u'5分') fifteenMButton = QtGui.QPushButton(u'15分') thirtyMButton = QtGui.QPushButton(u'30分') dayButton = QtGui.QPushButton(u'日') weekButton = QtGui.QPushButton(u'周') monthButton = QtGui.QPushButton(u'月') tickButton.clicked.connect(self.openTick) self.vbox1 = QtGui.QVBoxLayout() self.vbox2 = QtGui.QVBoxLayout() self.vbox1.addWidget(self.PriceW) self.vbox2.addWidget(tickButton) self.vbox2.addWidget(oneMButton) self.vbox2.addWidget(fiveMButton) self.vbox2.addWidget(fifteenMButton) self.vbox2.addWidget(thirtyMButton) self.vbox2.addWidget(dayButton) self.vbox2.addWidget(weekButton) self.vbox2.addWidget(monthButton) self.vbox2.addStretch() self.hbox3 = QtGui.QHBoxLayout() self.hbox3.addStretch() self.hbox3.addLayout(self.vbox1) self.hbox3.addLayout(self.vbox2) self.vbox = QtGui.QVBoxLayout() self.vbox.addLayout(self.hbox2) self.vbox.addLayout(self.hbox3) #vbox.addWidget(self.scrollArea) self.vbox.addWidget(self.chanlunLogMonitor) self.setLayout(self.vbox) self.codeEdit.returnPressed.connect(self.updateSymbol)