예제 #1
0
 def kline(self, num):
     dr = Figure_Canvas()
     #实例化一个FigureCanvas
     dr.test(num)  # 画图
     graphicscene = QtWidgets.QGraphicsScene(
     )  # 第三步,创建一个QGraphicsScene,因为加载的图形(FigureCanvas)不能直接放到graphicview控件中,必须先放到graphicScene,然后再把graphicscene放到graphicview中
     graphicscene.addWidget(
         dr)  # 第四步,把图形放到QGraphicsScene中,注意:图形是作为一个QWidget放到QGraphicsScene中的
     self.graphicview.setScene(graphicscene)
     self.graphicview.show()  # 最后,调用show方法呈现图形!Voila!!
     self.setCentralWidget(self.graphicview)
     self.graphicview.resize(1100, 500)
예제 #2
0
 def kline(self,num,a,b,tc):
     
     self.graphicview = QtWidgets.QGraphicsView()  # 第一步,創建一个QGraphicsView
     self.graphicview.setObjectName("graphicview")
     
     dr = Figure_Canvas()
     #實例化一个FigureCanvas
     dr.test(num,a,b,tc)  # 畫圖
     graphicscene = QtWidgets.QGraphicsScene()  # 第三步,创建一个QGraphicsScene,因为加载的图形(FigureCanvas)不能直接放到graphicview控件中,必须先放到graphicScene,然后再把graphicscene放到graphicview中
     graphicscene.addWidget(dr)  # 第四步,把圖形放到QGraphicsScene中,注意:图形是作为一个QWidget放到QGraphicsScene中的
     self.graphicview.setScene(graphicscene)
     self.graphicview.show()  # 最後,調用show方法呈现图形!Voila!!
     self.graphicview.resize(1100,500) 
예제 #3
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.graphicview = QtWidgets.QGraphicsView()  # 第一步,创建一个QGraphicsView
        self.graphicview.setObjectName("graphicview")

        dr = Figure_Canvas()
        #实例化一个FigureCanvas
        #dr.test(10)  # 画图

        graphicscene = QtWidgets.QGraphicsScene(
        )  # 第三步,创建一个QGraphicsScene,因为加载的图形(FigureCanvas)不能直接放到graphicview控件中,必须先放到graphicScene,然后再把graphicscene放到graphicview中
        graphicscene.addWidget(
            dr)  # 第四步,把图形放到QGraphicsScene中,注意:图形是作为一个QWidget放到QGraphicsScene中的
        self.graphicview.setScene(
            graphicscene)  # 第五步,把QGraphicsScene放入QGraphicsView
        self.graphicview.show()  # 最后,调用show方法呈现图形!Voila!!
        self.setCentralWidget(self.graphicview)
        self.graphicview.resize(1100, 500)

        self.setupUi(self)
        self.initUI()
        """
예제 #4
0
    def setupUi(self, MainWindow):

        self.graphicview = QtWidgets.QGraphicsView()  # 第一步,创建一个QGraphicsView
        self.graphicview.setObjectName("graphicview")
        dr = Figure_Canvas()
        #实例化一个FigureCanvas
        #dr.test(10)  # 画图

        graphicscene = QtWidgets.QGraphicsScene(
        )  # 第三步,创建一个QGraphicsScene,因为加载的图形(FigureCanvas)不能直接放到graphicview控件中,必须先放到graphicScene,然后再把graphicscene放到graphicview中
        graphicscene.addWidget(
            dr)  # 第四步,把图形放到QGraphicsScene中,注意:图形是作为一个QWidget放到QGraphicsScene中的
        self.graphicview.setScene(
            graphicscene)  # 第五步,把QGraphicsScene放入QGraphicsView
        self.graphicview.show()  # 最后,调用show方法呈现图形!Voila!!
        self.setCentralWidget(self.graphicview)
        self.graphicview.resize(1100, 500)

        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1024, 768)
        self.setWindowIcon(QtGui.QIcon('./icon/icon.png'))

        self.button = QPushButton('猛吧,不說了', self)
        self.button.move(50, 100)
        self.slavewindow = slaveWindow()
        #dr = Figure_Canvas()
        #self.button.clicked.connect(lambda:dr.test(10))
        self.button.clicked.connect(lambda: self.kline("txf"))

        self.button2 = QPushButton('彈出第二個視窗', self)
        self.button2.move(150, 100)
        self.slaveWindow2 = slaveWindow2()
        self.button2.clicked.connect(self.slaveWindow2.show)

        self.button3 = QPushButton('Quit', self)
        self.button3.clicked.connect(QCoreApplication.instance().quit)
        self.button3.move(600, 100)

        self.show()
예제 #5
0
    def kline(self, num, a, b, tc):

        self.dr = Figure_Canvas()
        #實例化一个FigureCanvas
        self.dr.test(num, a, b, tc)  # 畫圖
        self.dr.show()
예제 #6
0
class addWindow(QTabWidget):
    def __init__(self, *args, parent=None):
        super(addWindow, self).__init__(parent)
        self.setWindowTitle('新增商品')
        #self.setFixedSize(500, 300)
        self.setGeometry(600, 300, 700, 400)

        self.listWidget = QListWidget(self)

        item = QtWidgets.QListWidgetItem()

        if len(args) == 0:  # delimiter
            item.setText('商品' + '\t' * 2 + '說明\n' + '-' * 53)
            self.start = QLabel("起始", self)
            self.end = QLabel("結束", self)
            self.k = QLabel("K線週期", self)

        else:
            self.setWindowTitle('Add item')
            item.setText('item' + '\t' * 2 + 'Description\n' + '-' * 53)
            self.start = QLabel("Strat", self)
            self.end = QLabel("End", self)
            self.k = QLabel("K-Line", self)

        item.setFlags(QtCore.Qt.NoItemFlags)  # item should not be selectable
        self.listWidget.addItem(item)
        self.listWidget.addItems(["%-20s%10s"%("中石化","中國石油化工股份有限公司"), \
            "%-20s%10s"%("台泥","台灣水泥1101")])
        self.listWidget.setFixedSize(330, 200)

        self.listWidget2 = QListWidget(self)
        self.listWidget2.addItems(["aa", "bb"])
        self.listWidget2.setFixedSize(280, 200)

        self.listWidget3 = QListWidget(self)

        self.listWidget3.addItems(["cc", "dd"])
        self.listWidget3.setFixedSize(280, 200)

        if len(args) == 0:
            self.addTab(self.listWidget, "股票")
            self.addTab(self.listWidget2, "期貨")
            self.addTab(self.listWidget3, "指數")
        else:
            self.addTab(self.listWidget, "stock")
            self.addTab(self.listWidget2, "futures")
            self.addTab(self.listWidget3, "index")
        self.year = QComboBox(self)
        self.month = QComboBox(self)
        self.day = QComboBox(self)
        self.year2 = QComboBox(self)
        self.month2 = QComboBox(self)
        self.day2 = QComboBox(self)
        self.scope = QLineEdit(self)
        self.Tcount = QComboBox(self)

        self.year.addItems([str(x) for x in range(1998, 2018)])
        self.month.addItems([str(y) for y in range(1, 13)])
        self.day.addItems([str(z) for z in range(1, 32)])
        self.year2.addItems([str(a) for a in range(1998, 2018)])
        self.month2.addItems([str(b) for b in range(1, 13)])
        self.day2.addItems([str(c) for c in range(1, 32)])

        self.scope.setPlaceholderText("default:1")  #時間週期輸入框,設定字體大小
        f = self.scope.font()
        f.setPointSize(12)
        self.scope.setFont(f)

        self.Tcount.addItems(["日", "周", "月"])
        self.Tcount.resize(40, 27.5)

        self.start.move(350, 100)  #起始時間標籤
        self.year.move(400, 100)
        self.month.move(500, 100)
        self.day.move(600, 100)

        self.end.move(350, 150)  #結束時間標籤
        self.year2.move(400, 150)
        self.month2.move(500, 150)
        self.day2.move(600, 150)

        self.k.move(350, 200)
        self.scope.move(430, 200)
        self.Tcount.move(600, 200)

        self.subbutton = QPushButton('確認', self)
        self.subbutton.move(400, 350)
        backbutton = QPushButton('back \n返回 \nリターン \nбуцах', self)
        backbutton.move(550, 300)

        self.lineedit = QLineEdit(self)
        model = QStringListModel()
        model.setStringList(['中石化', '台泥', '竺元','aa','bb','cc'\
            ,'dd'])

        completer = QCompleter()
        completer.setModel(model)
        self.lineedit.setCompleter(completer)
        self.lineedit.setFixedWidth(200)
        self.lineedit.setPlaceholderText("search by name")
        f = self.lineedit.font()
        f.setPointSize(12)
        self.lineedit.setFont(f)
        self.lineedit.move(350, 50)

        self.subbutton.clicked.connect(
            lambda: self.compare(self.currentIndex()))  # 比較如果時間不符跳警示窗
        backbutton.clicked.connect(self.close)

        self.bigtimer()
        self.space = self.lineedit.text()

    def bigtimer(self):
        try:
            self.listWidget.selectedItems()[0].text()
            self.timer()
        except:
            QTimer.singleShot(10, self.smalltimer)

    def smalltimer(self):

        if self.lineedit.text() != self.space:
            self.realtimer()
        else:
            QTimer.singleShot(10, self.bigtimer)

    def timer(self):
        try:
            self.listWidget.selectedItems()[0].text()
            self.clear_text()
            self.realtimer()
        except:
            QTimer.singleShot(10, self.timer)

    def realtimer(self):

        if self.lineedit.text() != self.space:
            self.clear(self.listWidget)
            self.timer()
        else:
            QTimer.singleShot(10, self.realtimer)

    def clear(self, listwidget):

        listwidget.clearSelection()

    def clear_text(self):
        self.lineedit.clear()

    def compare(self, index):
        a = None
        itemlist = (['中石化', '台泥', '竺元', 'aa', 'bb', 'cc', 'dd'])
        if index == 0:
            mylist = self.listWidget
        elif index == 1:
            mylist = self.listWidget2
        elif index == 2:
            mylist = self.listWidget3

        for i in mylist.selectedItems():
            a = i.text()[:3].replace(" ", "")

        if a == None and self.lineedit.text() == "":
            self.dwrongmsg = dateWrong("NE")  # no enter
            print("沒選擇啦嫩")
            self.dwrongmsg.show()

        elif a == None and self.lineedit.text() not in itemlist:
            self.dwrongmsg = dateWrong("NI")  #no item
            print("沒有這項產品")
            self.dwrongmsg.show()

        elif int(self.year.currentText()) > int(self.year2.currentText()):
            self.dwrongmsg = dateWrong("T")  #time error
            print("date wrong1")
            self.dwrongmsg.show()
        elif int(self.year.currentText()) == int(self.year2.currentText()) and int(self.month.currentText()) >= \
            int(self.month2.currentText()):
            self.dwrongmsg = dateWrong("T")
            print("date wrong2")
            self.dwrongmsg.show()

        else:
            print("date right")
            self.tt(index)
            self.close()

    def tt(self, index):
        if index == 0:
            try:
                self.num = str(
                    self.listWidget.selectedItems()[0].text()[:3].replace(
                        " ", ""))
            except:
                self.num = self.lineedit.text()
        elif index == 1:
            self.num = str(self.listWidget2.currentItem().text()[:3].replace(
                " ", ""))
        elif index == 2:
            self.num = str(self.listWidget3.currentItem().text()[:3].replace(
                " ", ""))

        #file = open("./cache/fuckfile.txt","w",encoding = 'utf8')
        #file.write(self.num)
        print("stockcombo is " + self.num)
        if self.scope.text() == "":  #如果沒有輸入時間週期,跑預設的1
            self.num2 = 1
        else:
            self.num2 = int(self.scope.text())
        self.a = str(self.year.currentText()) + "-" + str(
            self.month.currentText()) + "-" + str(self.day.currentText())
        self.b = str(self.year2.currentText()) + "-" + str(
            self.month2.currentText()) + "-" + str(self.day2.currentText())
        if self.Tcount.currentText() == "日":
            self.tc = self.num2 * 1

        elif self.Tcount.currentText() == "周":
            self.tc = self.num2 * 7

        else:
            self.tc = self.num2 * 30
        print("self.num=" + self.num)
        print("self.a=" + self.a)
        print("self.b=" + self.b)
        print("self.tc=" + str(self.tc))
        self.kline(self.num, self.a, self.b, self.tc)

    def main():
        app = QApplication(sys.argv)
        mainwindow = MainWindow()
        mainwindow.show()

    def onActivated(self, text):

        self.lbl.setText(text)
        self.lbl.adjustSize()

    def kline(self, num, a, b, tc):

        self.dr = Figure_Canvas()
        #實例化一个FigureCanvas
        self.dr.test(num, a, b, tc)  # 畫圖
        self.dr.show()