コード例 #1
0
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.qwebengine = QWebEngineView(self.centralwidget)
        self.qwebengine.setGeometry(QtCore.QRect(10, 30, 451, 321))
        self.qwebengine.setAutoFillBackground(False)
        self.qwebengine.setStyleSheet("background-color: rgb(170, 170, 127);")
        self.qwebengine.setObjectName("qwebengine")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
コード例 #2
0
    def __init__(self):
        super().__init__()

        self.setGeometry(0, 0, 1024, 768)

        #self.setStyleSheet("background:black")
        chart = QWebEngineView(self)
        chart.page().setBackgroundColor(Qt.red)
        #button = QPushButton("Test",self)
        #button.resize(50, 50)
        #self.col = QColor(0, 0, 0)
        chart.resize(self.size())
        chart.setAutoFillBackground(True)
        """
        button.setAutoFillBackground(True)
        pa = QPalette()
        #br = pa.dark()
        pa.setColor(QPalette.Window, Qt.red)
        pa.setColor(QPalette.WindowText, Qt.red)
        button.setPalette(pa)

        button.setAutoFillBackground(True)
"""

        self.center()
        self.show()
コード例 #3
0
ファイル: Ui_plotly_pyqt.py プロジェクト: kiorry/PYQT
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.qwebengine = QWebEngineView(self.centralwidget)
        self.qwebengine.setGeometry(QtCore.QRect(10, 30, 451, 321))
        self.qwebengine.setAutoFillBackground(False)
        self.qwebengine.setStyleSheet("background-color: rgb(170, 170, 127);")
        self.qwebengine.setObjectName("qwebengine")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
コード例 #4
0
class Ui_MainWindow(QMainWindow):
    def setupUi(self, MainWindow):
        self.setWindowIcon(QtGui.QIcon('starbucks_icon.jpg'))
        self.menubar = QtWidgets.QMenuBar(self)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
        self.menubar.setObjectName("menubar")
        self.menu = QtWidgets.QMenu(self.menubar)
        self.menu.setObjectName("menu")
        self.menu_2 = QtWidgets.QMenu(self.menubar)
        self.menu_2.setObjectName("menu_2")
        self.menu_3 = QtWidgets.QMenu(self.menubar)
        self.menu_3.setObjectName("menu_3")
        self.setMenuBar(self.menubar)

        self.shiqu = QtWidgets.QAction(self)
        self.shiqu.setObjectName("shiqu")

        self.shiquerji = QtWidgets.QAction(self)
        self.shiquerji.setObjectName("shiquerji")

        self.zhuzhuang = QtWidgets.QAction(self)
        self.zhuzhuang.setObjectName("zhuzhuang")

        self.bingtu = QtWidgets.QAction(self)
        self.bingtu.setObjectName("bingtu")

        self.fenbu = QtWidgets.QAction(self)
        self.fenbu.setObjectName("fenbu")

        self.shiqufenbu = QtWidgets.QAction(self)
        self.shiqufenbu.setObjectName("shiqufenbu")

        self.guojiajianbian = QtWidgets.QAction(self)
        self.guojiajianbian.setObjectName("guojiajianbian")

        self.menu.addAction(self.shiqu)
        self.menu.addAction(self.shiquerji)
        self.menu_2.addAction(self.zhuzhuang)
        self.menu_2.addAction(self.bingtu)
        self.menu_3.addAction(self.fenbu)
        self.menu_3.addAction(self.shiqufenbu)
        self.menu_3.addAction(self.guojiajianbian)
        self.menubar.addAction(self.menu.menuAction())
        self.menubar.addAction(self.menu_2.menuAction())
        self.menubar.addAction(self.menu_3.menuAction())

        self.listWidget = QtWidgets.QListWidget()
        self.listWidget.setFixedSize(200, 500)
        self.listWidget.setObjectName("listView")
        self.listWidget.close()

        self.set_topk()
        self.set_topr()
        self.set_score()
        self.set_webwindow()

        vbox = QtWidgets.QGridLayout()
        self.two = QtWidgets.QWidget()
        hbox = QtWidgets.QHBoxLayout()
        hbox.addWidget(self.topk)
        hbox.addWidget(self.topr)
        hbox.addWidget(self.score)
        self.two.setLayout(hbox)

        self.three = QtWidgets.QWidget()
        hbox_three = QtWidgets.QHBoxLayout()
        hbox_three.addWidget(self.web)
        hbox_three.addWidget(self.listWidget)
        self.listWidget.close()
        self.three.setLayout(hbox_three)

        vbox.addWidget(self.two)
        vbox.addWidget(self.three)
        self.main = QtWidgets.QWidget()
        self.resize(1600, 700)
        self.main.setLayout(vbox)
        self.setCentralWidget(self.main)

        self.retranslateUi(MainWindow)
        self.search_k.clicked.connect(self.search_kfun)
        self.shiqu.triggered.connect(self.shiqufun)
        self.shiquerji.triggered.connect(self.shiquerjifun)
        self.zhuzhuang.triggered.connect(self.zhuzhuangfun)
        self.bingtu.triggered.connect(self.bingtufun)
        self.guojiajianbian.triggered.connect(self.guojiajianbianfun)
        self.fenbu.triggered.connect(self.fenbufun)
        self.shiqufenbu.triggered.connect(self.shiqufenbufun)
        self.time_analysis.clicked.connect(self.time_analysisfun)
        self.search_r.clicked.connect(self.search_rfun)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

        MainWindow.show()
        self.listWidget.close()

    def set_topk(self):
        self.topk = QtWidgets.QGroupBox("关键词检索")
        self.topk.setObjectName("topk")
        hbox = QtWidgets.QHBoxLayout()

        self.key = QtWidgets.QComboBox(self.topk)
        self.key.setObjectName("key")

        self.key.addItem("")
        self.key.addItem("Brand")
        self.key.addItem("Store Number")
        self.key.addItem("Store Name")
        self.key.addItem("Ownership Type")
        self.key.addItem("Street Address")
        self.key.addItem("City")
        self.key.addItem("State/Province")
        self.key.addItem("Country")
        self.key.addItem("Postcode")
        self.key.addItem("Phone Number")
        self.key.addItem("Timezone")

        self.keyword_text = ""
        self.key.activated[str].connect(self.keyword_onActivated)

        self.keyword = QtWidgets.QLineEdit(self.topk)
        self.keyword.setObjectName("keyword")
        self.keyword.setFixedWidth(60)

        self.label_k = QtWidgets.QLabel(self.topk)
        self.label_k.setObjectName("label_k")

        self.input_k = QtWidgets.QLineEdit(self.topk)
        self.input_k.setObjectName("input_k")

        self.label_lonk = QtWidgets.QLabel(self.topk)
        self.label_lonk.setObjectName("label")
        self.label_latk = QtWidgets.QLabel(self.topk)
        self.label_latk.setObjectName("label_latk")

        self.search_k = QtWidgets.QPushButton(self.topk)
        self.search_k.setObjectName("search_k")
        self.search_k.setFixedWidth(60)

        self.input_lat = QtWidgets.QLineEdit(self.topk)
        self.input_lat.setObjectName("input_lat")
        self.input_lat.setFixedWidth(50)

        self.input_lon = QtWidgets.QLineEdit(self.topk)
        self.input_lon.setObjectName("input_lon")
        self.input_lon.setFixedWidth(50)

        self.time_analysis = QtWidgets.QPushButton(self.topk)
        self.time_analysis.setObjectName("time_analysis")
        self.time_analysis.setFixedWidth(100)

        hbox.addWidget(self.key)
        hbox.addWidget(self.keyword)
        hbox.addWidget(self.label_lonk)
        hbox.addWidget(self.input_lon)
        hbox.addWidget(self.label_latk)
        hbox.addWidget(self.input_lat)
        hbox.addWidget(self.label_k)
        hbox.addWidget(self.input_k)
        hbox.addWidget(self.search_k)
        hbox.addWidget(self.time_analysis)
        self.topk.setLayout(hbox)

    def set_topr(self):
        hbox_r = QtWidgets.QHBoxLayout()

        self.topr = QtWidgets.QGroupBox("距离范围检索")
        self.topr.setObjectName("topr")

        self.label_lonr = QtWidgets.QLabel(self.topr)
        self.label_lonr.setObjectName("lonr")
        self.label_latr = QtWidgets.QLabel(self.topr)
        self.label_latr.setObjectName("label_latr")

        self.search_r = QtWidgets.QPushButton(self.topr)
        self.search_r.setObjectName("search_r")

        self.input_lat_r = QtWidgets.QLineEdit(self.topr)
        self.input_lat_r.setObjectName("input_lat_r")
        self.input_lat_r.setFixedWidth(50)

        self.input_lon_r = QtWidgets.QLineEdit(self.topr)
        self.input_lon_r.setObjectName("input_lon_r")
        self.input_lon_r.setFixedWidth(50)

        self.input_r = QtWidgets.QLineEdit(self.topr)
        self.input_r.setObjectName("input_r")

        self.rsearch = QtWidgets.QLabel(self.topr)

        self.rsearch.setObjectName("rsearch")

        hbox_r.addWidget(self.label_lonr)
        hbox_r.addWidget(self.input_lon_r)
        hbox_r.addWidget(self.label_latr)
        hbox_r.addWidget(self.input_lat_r)
        hbox_r.addWidget(self.rsearch)
        hbox_r.addWidget(self.input_r)
        hbox_r.addWidget(self.search_r)

        self.topr.setLayout(hbox_r)

    def set_score(self):
        hbox_s = QtWidgets.QHBoxLayout()

        self.score = QtWidgets.QGroupBox("评分")
        self.score.setObjectName("score")

        self.label_score = QtWidgets.QLabel(self.score)
        self.label_score.setObjectName("label_score")

        self.countSpineBox = QtWidgets.QSpinBox()
        self.countSpineBox.setRange(0, 10)
        self.countSpineBox.setEnabled(False)

        self.in_score = QtWidgets.QPushButton(self.score)
        self.in_score.setObjectName("in_score")
        self.in_score.setEnabled(False)

        hbox_s.addWidget(self.label_score)
        hbox_s.addWidget(self.countSpineBox)
        hbox_s.addWidget(self.in_score)
        self.score.setLayout(hbox_s)

    def set_webwindow(self):
        self.web = QtWidgets.QGroupBox("显示结果")
        hbox_web = QtWidgets.QHBoxLayout()
        self.webwindow = QWebEngineView()
        self.webwindow.setAutoFillBackground(True)
        self.webwindow.setObjectName("webwindow")

        hbox_web.addWidget(self.webwindow)
        self.web.setLayout(hbox_web)

    def search_kfun(self):
        input_attr = self.keyword.text()
        input_lon = float(self.input_lon.text())
        input_lat = float(self.input_lat.text())
        input_k = int(self.input_k.text())

        starbucks_df = read_data()
        start = time.time()
        df_find = find_same(starbucks_df,
                            self.keyword_text.decode(encoding="utf-8"),
                            input_attr)
        df_find = preprocessing(df_find)

        df_temp = topk(df_find, input_lon, input_lat, input_k)
        end = time.time()
        run_time = end - start
        self.statusBar().showMessage('查询时间为: ' + str(run_time))

        draw_map(df_temp, "simtopk.html")

        k_analysis = topk_k_analysis(df_find, input_lon, input_lat)
        bar_time = Bar("该经纬度下topk计算时间随k变化")
        bar_pic(bar_time, k_analysis, 'k', 'time', 'k时间顺序')
        bar_time.render(r'time_analysis.html')

        path = os.getcwd()
        url = pathname2url(path)
        url = 'file:' + url + '/simtopk.html'

        self.webwindow.load(QtCore.QUrl(url))
        self.webwindow.show()
        self.listWidget.clear()

        for i in range(df_temp.shape[0]):
            item = QtWidgets.QListWidgetItem(df_temp['Store Name'][i])
            self.listWidget.addItem(item)
        self.listWidget.show()

        self.listWidget.itemClicked['QListWidgetItem*'].connect(self.dia)

    def dia(self):
        self.countSpineBox.setEnabled(True)
        self.in_score.setEnabled(True)
        self.in_score.clicked.connect(self.pingfen)

    def pingfen(self):
        score_var = int(self.countSpineBox.text())

        starbucks_df = read_data()
        starbucks_df = input_score(starbucks_df, score_var,
                                   self.listWidget.currentItem().text())
        starbucks_df.to_csv('starbucks.csv', encoding="utf_8_sig", index=False)

    def keyword_onActivated(self, text):
        self.keyword_text = text.encode("utf-8")

    def search_rfun(self):
        lon_r_text = float(self.input_lon_r.text())
        lat_r_text = float(self.input_lat_r.text())
        r_text = int(self.input_r.text())

        starbucks_df = read_data()
        df_find = preprocessing(starbucks_df)
        df_temp = r_cal(df_find, lon_r_text, lat_r_text, r_text)
        df_temp = df_temp.reset_index(drop=False)
        draw_map(df_temp, "range.html")

        path = os.getcwd()
        url = pathname2url(path)
        url = 'file:' + url + '/range.html'

        self.webwindow.load(QtCore.QUrl(url))
        self.webwindow.show()
        self.listWidget.clear()

        for i in range(df_temp.shape[0]):
            item = QtWidgets.QListWidgetItem(df_temp['Store Name'][i])
            self.listWidget.addItem(item)
        self.listWidget.show()

        self.listWidget.itemClicked['QListWidgetItem*'].connect(self.dia)

    def time_analysisfun(self):
        path = os.getcwd()
        url = pathname2url(path)
        url = 'file:' + url + '/time_analysis.html'
        self.webwindow.load(QtCore.QUrl(url))
        self.webwindow.show()
        self.listWidget.close()

    def shiqufun(self):
        # 时区图
        path = os.getcwd()
        url = pathname2url(path)
        url = 'file:' + url + '/Amout_in_Each_Timezone_Pie.html'
        self.webwindow.load(QtCore.QUrl(url))
        self.webwindow.show()
        self.listWidget.close()

    def shiquerjifun(self):
        # 时区二级图
        path = os.getcwd()
        url = pathname2url(path)
        url = 'file:' + url + '/Amount_of_Country_in_Timezone_Pie.html'
        self.webwindow.load(QtCore.QUrl(url))
        # self.setCentralWidget(self.webwindow)
        self.webwindow.show()
        self.listWidget.close()

    def shiqujianbianfun(self):
        path = os.getcwd()
        url = pathname2url(path)
        url = 'file:' + url + '/map_time.html'
        self.webwindow.load(QtCore.QUrl(url))
        self.webwindow.show()
        self.listWidget.close()

    def zhuzhuangfun(self):
        # 柱状图
        path = os.getcwd()
        url = pathname2url(path)
        url = 'file:' + url + '/Amount_Each_Country_Bar.html'
        self.webwindow.load(QtCore.QUrl(url))
        self.webwindow.show()
        self.listWidget.close()

    def bingtufun(self):
        # 饼状图
        path = os.getcwd()
        url = pathname2url(path)
        url = 'file:' + url + '/Amount_Each_Country_Pie.html'
        self.webwindow.load(QtCore.QUrl(url))
        self.webwindow.show()
        self.listWidget.close()

    def fenbufun(self):
        # 店铺分布图
        path = os.getcwd()
        url = pathname2url(path)
        url = 'file:' + url + '/fenbutu.html'
        self.webwindow.load(QtCore.QUrl(url))
        self.webwindow.show()
        self.listWidget.close()

    def shiqufenbufun(self):
        # 店铺时区分布图
        path = os.getcwd()
        url = pathname2url(path)
        url = 'file:' + url + '/map_time.html'
        self.webwindow.load(QtCore.QUrl(url))
        self.webwindow.show()
        self.listWidget.close()

    def guojiajianbianfun(self):
        path = os.getcwd()
        url = pathname2url(path)
        url = 'file:' + url + '/distribution_map_country.html'
        self.webwindow.load(QtCore.QUrl(url))
        self.webwindow.show()
        self.listWidget.close()

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label_k.setText(_translate("MainWindow", "结果数:"))
        self.label_lonk.setText(_translate("MainWindow", "经度:"))
        self.label_latk.setText(_translate("MainWindow", "纬度:"))
        self.search_k.setText(_translate("MainWindow", "查询"))
        self.time_analysis.setText(_translate("MainWindow", "查询时间分析"))
        self.label_lonr.setText(_translate("MainWindow", "经度:"))
        self.label_latr.setText(_translate("MainWindow", "纬度:"))
        self.search_r.setText(_translate("MainWindow", "查询"))
        self.rsearch.setText(_translate("MainWindow", "距离范围(米):"))
        self.label_score.setText(_translate("MainWindow", "输入分数(1-10):"))
        self.in_score.setText(_translate("MainWindow", "评分"))
        self.menu.setTitle(_translate("MainWindow", "按时区数据统计"))
        self.menu_2.setTitle(_translate("MainWindow", "按国家数据统计"))
        self.menu_3.setTitle(_translate("MainWindow", "分布地图"))
        self.shiqu.setText(_translate("MainWindow", "各时区店铺数量统计饼图"))
        self.shiquerji.setText(_translate("MainWindow", "各时区店铺数量统计饼图(详细)"))
        self.zhuzhuang.setText(_translate("MainWindow", "柱状图"))
        self.bingtu.setText(_translate("MainWindow", "饼图"))
        self.guojiajianbian.setText(_translate("MainWindow", "各国家店铺数量渐变图"))
        self.fenbu.setText(_translate("MainWindow", "店铺分布图"))
        self.shiqufenbu.setText(_translate("MainWindow", "时区店铺分布图"))
コード例 #5
0
ファイル: Graphs.py プロジェクト: Seigneur774/CryptoClient
class Ui_Dialog(object):
    def setupUi(self, Dialog, exchange: str, ticker: str):
        #récupération du chemin
        self.mypath = os.path.dirname(__file__)
        self.exchange = exchange
        self.ticker = ticker
        graphics.chart(self.exchange, self.ticker, '1h', self.mypath)
        Dialog.setObjectName("Dialog")
        Dialog.resize(1355, 706)
        Dialog.setStyleSheet("background-color: rgb(189, 255, 231);\n" "")
        self.graphTo1h = QtWidgets.QPushButton(Dialog)
        self.graphTo1h.setGeometry(QtCore.QRect(1140, 60, 141, 23))
        self.graphTo1h.setWhatsThis("")
        self.graphTo1h.setStyleSheet("background-color: rgb(255, 255, 255);")
        self.graphTo1h.setObjectName("graphTo1h")
        self.graphTo1h.clicked.connect(self.GraphTo1h)
        self.graphTo24h = QtWidgets.QPushButton(Dialog)
        self.graphTo24h.setGeometry(QtCore.QRect(1140, 110, 141, 23))
        self.graphTo24h.setWhatsThis("")
        self.graphTo24h.setStyleSheet("background-color: rgb(255, 255, 255);")
        self.graphTo24h.setObjectName("graphTo24h")
        self.graphTo24h.clicked.connect(self.GraphTo24h)
        self.graphTo7d = QtWidgets.QPushButton(Dialog)
        self.graphTo7d.setGeometry(QtCore.QRect(1140, 160, 141, 23))
        self.graphTo7d.setWhatsThis("")
        self.graphTo7d.setStyleSheet("background-color: rgb(255, 255, 255);")
        self.graphTo7d.setObjectName("graphTo7d")
        self.graphTo7d.clicked.connect(self.GraphTo7d)
        self.BUY_SELL = QtWidgets.QPushButton(Dialog)
        self.BUY_SELL.setGeometry(QtCore.QRect(1160, 440, 171, 31))
        self.BUY_SELL.setStyleSheet("background-color: rgb(255, 255, 255);")
        self.BUY_SELL.setObjectName("BUY_SELL")
        self.BUY_SELL.clicked.connect(self.openBuySell)
        self.Htmlreader_graph = QWebEngineView(Dialog)
        self.Htmlreader_graph.setGeometry(QtCore.QRect(10, 10, 1051, 661))
        self.Htmlreader_graph.setCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))
        self.Htmlreader_graph.setWhatsThis("")
        self.Htmlreader_graph.setAutoFillBackground(False)
        #récupération du chemin
        self.Htmlreader_graph.setUrl(QtCore.QUrl("file:/plotlyGraph.html"))
        self.Htmlreader_graph.setObjectName("Htmlreader_graph")
        self.Timeframe = QtWidgets.QLabel(Dialog)
        self.Timeframe.setGeometry(QtCore.QRect(1150, 20, 111, 31))
        font = QtGui.QFont()
        font.setFamily("MS Sans Serif")
        font.setPointSize(15)
        font.setBold(True)
        font.setItalic(True)
        font.setWeight(75)
        self.Timeframe.setFont(font)
        self.Timeframe.setObjectName("Timeframe")

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    #fonction pour changer le timeframe du graph:
    #1h
    def GraphTo1h(Ui_Dialog):
        graphics.chart(Ui_Dialog.exchange, Ui_Dialog.ticker, '1h',
                       Ui_Dialog.mypath)
        Ui_Dialog.Htmlreader_graph.reload()

    #24h
    def GraphTo24h(Ui_Dialog):
        graphics.chart(Ui_Dialog.exchange, Ui_Dialog.ticker, '1d',
                       Ui_Dialog.mypath)
        Ui_Dialog.Htmlreader_graph.reload()

    #7d
    def GraphTo7d(Ui_Dialog):
        graphics.chart(Ui_Dialog.exchange, Ui_Dialog.ticker, '7d',
                       Ui_Dialog.mypath)
        Ui_Dialog.Htmlreader_graph.reload()

    #•ouvre la fenetre BUY/SELL
    def openBuySell(self):
        self.window = QtWidgets.QMainWindow()
        self.ui = BuysellWindow.Ui_Dialog()
        self.ui.setupUi(self.window, self.exchange, self.ticker)
        self.window.show()

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
        self.graphTo1h.setText(_translate("Dialog", "1 hour"))
        self.graphTo24h.setText(_translate("Dialog", "24 hours"))
        self.graphTo7d.setText(_translate("Dialog", "7 days"))
        self.BUY_SELL.setText(_translate("Dialog", "Buy/Sell"))
        self.Timeframe.setText(_translate("Dialog", "Timeframe:"))