コード例 #1
1
ファイル: mainwindow.py プロジェクト: cges30901/test
 def __init__(self):
     QMainWindow.__init__(self)
     self.view = QWebEngineView(self)
     self.view.load(QUrl("https://cges30901.github.io/test/vert2"))
     self.setCentralWidget(self.view)
コード例 #2
0
 def __init__(self, parent=None):
     super().__init__(parent)
     self.port = None
     view = QWebEngineView()
     self._settings = webenginesettings.WebEngineSettings(view.settings())
     self._set_widget(view)
コード例 #3
0
ファイル: qt502_webviewJs02.py プロジェクト: ttof80/PyQt5
from PyQt5.QtCore import QUrl
from MySharedObject import MySharedObject
from PyQt5.QtWebChannel import QWebChannel
import sys

# 创建一个 application实例
app = QApplication(sys.argv)
win = QWidget()
win.setWindowTitle('Web页面中的JavaScript与 QWebEngineView交互例子')

# 创建一个垂直布局器
layout = QVBoxLayout()
win.setLayout(layout)

# 创建一个 QWebEngineView 对象
view = QWebEngineView()
htmlUrl = 'http://127.0.0.1:8020/web/index.html'
view.load(QUrl(htmlUrl))

# 创建一个 QWebChannel对象,用来传递pyqt参数到JavaScript
channel = QWebChannel()
myObj = MySharedObject()
channel.registerObject("bridge", myObj)
view.page().setWebChannel(channel)

# 把QWebView和button加载到layout布局中
layout.addWidget(view)

# 显示窗口和运行app
win.show()
sys.exit(app.exec_())
コード例 #4
0
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(724, 665)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(".\\ico/vw.ico"), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        MainWindow.setIconSize(QtCore.QSize(32, 32))
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.centralwidget)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setContentsMargins(-1, -1, -1, 0)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.txt_Find = QtWidgets.QLineEdit(self.centralwidget)
        self.txt_Find.setObjectName("txt_Find")
        self.horizontalLayout_3.addWidget(self.txt_Find)
        self.btn_Find = QtWidgets.QPushButton(self.centralwidget)
        self.btn_Find.setObjectName("btn_Find")
        self.horizontalLayout_3.addWidget(self.btn_Find)
        self.verticalLayout_3.addLayout(self.horizontalLayout_3)
        self.splitter_2 = QtWidgets.QSplitter(self.centralwidget)
        self.splitter_2.setAutoFillBackground(True)
        self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
        self.splitter_2.setObjectName("splitter_2")
        self.splitter = QtWidgets.QSplitter(self.splitter_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.splitter.sizePolicy().hasHeightForWidth())
        self.splitter.setSizePolicy(sizePolicy)
        self.splitter.setOrientation(QtCore.Qt.Vertical)
        self.splitter.setObjectName("splitter")
        self.verticalLayoutWidget_2 = QtWidgets.QWidget(self.splitter)
        self.verticalLayoutWidget_2.setObjectName("verticalLayoutWidget_2")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(
            self.verticalLayoutWidget_2)
        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.midleft = QtWidgets.QTreeWidget(self.verticalLayoutWidget_2)
        self.midleft.setObjectName("midleft")
        self.midleft.headerItem().setText(0, "1")
        self.midleft.header().setHighlightSections(True)
        self.verticalLayout_2.addWidget(self.midleft)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.cb_Tabelle = QtWidgets.QCheckBox(self.verticalLayoutWidget_2)
        font = QtGui.QFont()
        font.setPointSize(14)
        self.cb_Tabelle.setFont(font)
        self.cb_Tabelle.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.cb_Tabelle.setCheckable(True)
        self.cb_Tabelle.setChecked(False)
        self.cb_Tabelle.setTristate(False)
        self.cb_Tabelle.setObjectName("cb_Tabelle")
        self.horizontalLayout.addWidget(self.cb_Tabelle)
        spacerItem = QtWidgets.QSpacerItem(40, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.btn_Update_Tree = QtWidgets.QPushButton(
            self.verticalLayoutWidget_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Minimum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.btn_Update_Tree.sizePolicy().hasHeightForWidth())
        self.btn_Update_Tree.setSizePolicy(sizePolicy)
        self.btn_Update_Tree.setText("")
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(".\\ico/ARROW6A.ICO"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btn_Update_Tree.setIcon(icon1)
        self.btn_Update_Tree.setIconSize(QtCore.QSize(32, 32))
        self.btn_Update_Tree.setObjectName("btn_Update_Tree")
        self.horizontalLayout.addWidget(self.btn_Update_Tree)
        self.verticalLayout_2.addLayout(self.horizontalLayout)
        self.verticalLayoutWidget = QtWidgets.QWidget(self.splitter)
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.botleft = QtWidgets.QTreeWidget(self.verticalLayoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(2)
        sizePolicy.setHeightForWidth(
            self.botleft.sizePolicy().hasHeightForWidth())
        self.botleft.setSizePolicy(sizePolicy)
        self.botleft.setObjectName("botleft")
        self.botleft.headerItem().setText(0, "1")
        self.verticalLayout.addWidget(self.botleft)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.cb_PR = QtWidgets.QCheckBox(self.verticalLayoutWidget)
        font = QtGui.QFont()
        font.setPointSize(14)
        self.cb_PR.setFont(font)
        self.cb_PR.setObjectName("cb_PR")
        self.horizontalLayout_2.addWidget(self.cb_PR)
        spacerItem1 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem1)
        self.btn_Dump_pr = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.btn_Dump_pr.setText("")
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(".\\ico/ARROW6C.ICO"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btn_Dump_pr.setIcon(icon2)
        self.btn_Dump_pr.setIconSize(QtCore.QSize(32, 32))
        self.btn_Dump_pr.setObjectName("btn_Dump_pr")
        self.horizontalLayout_2.addWidget(self.btn_Dump_pr)
        self.btn_Inject_pr = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.btn_Inject_pr.setText("")
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(".\\ico/ARROW6D.ICO"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.btn_Inject_pr.setIcon(icon3)
        self.btn_Inject_pr.setIconSize(QtCore.QSize(32, 32))
        self.btn_Inject_pr.setObjectName("btn_Inject_pr")
        self.horizontalLayout_2.addWidget(self.btn_Inject_pr)
        self.btn_Update_PrNr = QtWidgets.QPushButton(self.verticalLayoutWidget)
        self.btn_Update_PrNr.setText("")
        self.btn_Update_PrNr.setIcon(icon1)
        self.btn_Update_PrNr.setIconSize(QtCore.QSize(32, 32))
        self.btn_Update_PrNr.setObjectName("btn_Update_PrNr")
        self.horizontalLayout_2.addWidget(self.btn_Update_PrNr)
        self.verticalLayout.addLayout(self.horizontalLayout_2)
        self.textEdit = QtWidgets.QTextEdit(self.verticalLayoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.textEdit.sizePolicy().hasHeightForWidth())
        self.textEdit.setSizePolicy(sizePolicy)
        self.textEdit.setObjectName("textEdit")
        self.verticalLayout.addWidget(self.textEdit)
        self.topright = QWebEngineView(self.splitter_2)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(2)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.topright.sizePolicy().hasHeightForWidth())
        self.topright.setSizePolicy(sizePolicy)
        self.topright.setObjectName("topright")
        self.verticalLayout_3.addWidget(self.splitter_2)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 724, 23))
        self.menubar.setObjectName("menubar")
        self.menu = QtWidgets.QMenu(self.menubar)
        self.menu.setObjectName("menu")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.openMenu = QtWidgets.QAction(MainWindow)
        self.openMenu.setObjectName("openMenu")
        self.menu.addAction(self.openMenu)
        self.menubar.addAction(self.menu.menuAction())

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
コード例 #5
0
ファイル: web_view.py プロジェクト: xJayLee/calibre
 def visibility_changed(self, visible):
     if visible and self.view is None:
         self.view = QWebEngineView(self.view_to_debug)
         self.view_to_debug.page().setDevToolsPage(self.view.page())
         self.layout.addWidget(self.view)
コード例 #6
0
    </body>
</html>
'''

# The next two lines are a workaround to fix an issue with QWebEngineView (see https://github.com/ContinuumIO/anaconda-issues/issues/9199#issuecomment-383842265)
import ctypes
ctypes.CDLL("libGL.so.1", mode=ctypes.RTLD_GLOBAL)

import sys
from PyQt5.QtCore import *
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtWidgets import QApplication

app = QApplication(sys.argv)

# Setting "/" as the base_url may be a bad idea : JS script can access any (readable) file of the system...
# It's probably much better to isolate external files in a dedicated directory (e.g. /tmp/...) as everybody do for webservers (/var/www/html)
base_url = QUrl.fromLocalFile("/")

web = QWebEngineView()
web.setHtml(HTML, base_url)
web.show()

# The mainloop of the application. The event handling starts from this point.
# The exec_() method has an underscore. It is because the exec is a Python keyword. And thus, exec_() was used instead.
exit_code = app.exec_()

# The sys.exit() method ensures a clean exit.
# The environment will be informed, how the application ended.
sys.exit(exit_code)
コード例 #7
0
ファイル: DaLuRenWindow.py プロジェクト: wlhyl/dalurenpython
    def __init__(self):
        super().__init__()
        self.shiPan = None
        self.setWindowTitle("大六壬")

        # Create mainold layout
        layout = QtWidgets.QHBoxLayout()

        mainWidget = QtWidgets.QWidget()
        mainWidget.setLayout(layout)
        self.setCentralWidget(mainWidget)

        self.textBrowser = QWebEngineView()
        layout.addWidget(self.textBrowser)

        # 设置右则面板
        rightWidget = QtWidgets.QWidget()
        rightWidget.setFixedWidth(100)
        #         layout.addWidget(rightWidget)
        scrollArea = QtWidgets.QScrollArea(self)
        scrollArea.setFixedWidth(120)
        scrollArea.setWidgetResizable(True)

        #         scroll_bar = scrollArea.verticalScrollBar()
        scrollArea.setWidget(rightWidget)
        layout.addWidget(scrollArea)

        # 为右则面板使用水平布局
        rightVBoxLayout = QtWidgets.QVBoxLayout()
        rightWidget.setLayout(rightVBoxLayout)
        #
        self.yearInput = QtWidgets.QLineEdit()
        self.yearInput.setPlaceholderText("年 1920-2050")
        self.yearInput.setValidator(
            QtGui.QIntValidator(1920, 2050, self.yearInput))
        rightVBoxLayout.addWidget(self.yearInput)

        self.monthInput = QtWidgets.QLineEdit()
        self.monthInput.setPlaceholderText("月")
        self.monthInput.setValidator(
            QtGui.QIntValidator(1, 12, self.monthInput))
        rightVBoxLayout.addWidget(self.monthInput)

        self.dayInput = QtWidgets.QLineEdit()
        self.dayInput.setPlaceholderText("日")
        self.dayInput.setValidator(QtGui.QIntValidator(1, 31, self.dayInput))
        rightVBoxLayout.addWidget(self.dayInput)

        self.hourInput = QtWidgets.QLineEdit()
        self.hourInput.setPlaceholderText("时")
        self.hourInput.setValidator(QtGui.QIntValidator(0, 23, self.hourInput))
        rightVBoxLayout.addWidget(self.hourInput)

        self.minutesInput = QtWidgets.QLineEdit()
        self.minutesInput.setPlaceholderText("分")
        self.minutesInput.setValidator(
            QtGui.QIntValidator(0, 59, self.minutesInput))
        rightVBoxLayout.addWidget(self.minutesInput)

        self.secondInput = QtWidgets.QLineEdit()
        self.secondInput.setPlaceholderText("秒")
        self.secondInput.setValidator(
            QtGui.QIntValidator(0, 59, self.minutesInput))
        rightVBoxLayout.addWidget(self.secondInput)

        timeNowButton = QtWidgets.QPushButton("当前时间")
        rightVBoxLayout.addWidget(timeNowButton)

        self.yueJiang = QtWidgets.QComboBox()
        self.yueJiang.addItems(DiZHiList)

        yueJiangHBoxLayout = QtWidgets.QHBoxLayout()
        yueJiangHBoxLayout.addWidget(QtWidgets.QLabel("月将"))
        yueJiangbutton = QtWidgets.QPushButton("计算")
        yueJiangHBoxLayout.addWidget(yueJiangbutton)
        rightVBoxLayout.addLayout(yueJiangHBoxLayout)
        rightVBoxLayout.addWidget(self.yueJiang)

        self.zhanShi = QtWidgets.QComboBox()
        self.zhanShi.addItems(DiZHiList)
        rightVBoxLayout.addWidget(QtWidgets.QLabel("占时"))
        rightVBoxLayout.addWidget(self.zhanShi)

        self.zhouZhan = QtWidgets.QComboBox()
        self.zhouZhan.addItems(["是", "否"])
        rightVBoxLayout.addWidget(QtWidgets.QLabel("昼占/昼生人"))
        rightVBoxLayout.addWidget(self.zhouZhan)

        self.mingJu = QtWidgets.QComboBox()
        self.mingJu.addItems(["否", "是"])
        rightVBoxLayout.addWidget(QtWidgets.QLabel("命局"))
        rightVBoxLayout.addWidget(self.mingJu)

        man = QtWidgets.QRadioButton("男")
        male = QtWidgets.QRadioButton("女")
        man.setChecked(True)
        self.sex = QtWidgets.QButtonGroup()
        self.sex.addButton(man, 0)
        self.sex.addButton(male, 1)
        sexLayout = QtWidgets.QHBoxLayout()
        sexLayout.addWidget(man)
        sexLayout.addWidget(male)
        rightVBoxLayout.addLayout(sexLayout)

        self.shengNianInput = QtWidgets.QLineEdit()
        self.shengNianInput.setPlaceholderText("生年")
        self.shengNianInput.setValidator(
            QtGui.QIntValidator(1920, 2050, self.shengNianInput))
        rightVBoxLayout.addWidget(self.shengNianInput)

        rightVBoxLayout.addWidget(QtWidgets.QLabel("占测之事"))
        self.占测的事Input = QtWidgets.QLineEdit()
        rightVBoxLayout.addWidget(self.占测的事Input)

        button = QtWidgets.QPushButton("起六壬局")
        rightVBoxLayout.addWidget(button)

        shenShaButton = QtWidgets.QPushButton("神煞查询")
        rightVBoxLayout.addWidget(shenShaButton)

        helpButton = QtWidgets.QPushButton("帮助")
        rightVBoxLayout.addWidget(helpButton)
        rightVBoxLayout.addStretch()

        # 设置默认时间
        self.timeNow()

        月将 = GetLi(int(self.yearInput.text()), int(self.monthInput.text()),
                   int(self.dayInput.text()), int(self.hourInput.text()),
                   int(self.minutesInput.text()),
                   int(self.secondInput.text()))[4]
        self.yueJiang.setCurrentIndex(月将.num - 1)
        button.clicked.connect(self.onclick)
        helpButton.clicked.connect(self.helpOnclick)
        yueJiangbutton.clicked.connect(self.yueJiangOnClick)
        shenShaButton.clicked.connect(self.shenShaOnclick)
        timeNowButton.clicked.connect(self.timeNowOnClick)
コード例 #8
0
ファイル: downloader.py プロジェクト: logonmy/youtube-stealer
    def m_video_url(self, url):

        print('add search log', time.time())
        f = open('search_log.csv', 'w')
        f.write(url)

        print('verificate:'.format(url), time.time())
        verification, title = utils.download_options(url)
        # 进入下载选项,否则打开网页
        if verification == True:

            sub_title = self.conf['download']['auto-download-subtitle']
            filepath = self.conf['download']['save-path']

            print('begain download', time.time())
            multi_download = multi_thread(url, sub_title, filepath)
            title = multi_download.start()

            system_time = QDateTime.currentDateTime()
            timeDisplay = system_time.toString("yyyy-MM-dd hh:mm:ss")
            self.temp.append([title, url, filepath, timeDisplay])

            self.download_page = QWidget()

            video_info = QGridLayout()
            download_option = QHBoxLayout()

            re_load = QPushButton('重新加载')
            close_tab = QPushButton('关闭此页面')
            goto_webpage = QPushButton('打开网页')
            video_title = QLabel(title)
            back_mainpage = QPushButton('返回主页')
            upload_time = QLabel(timeDisplay)

            video_info.addWidget(back_mainpage, 0, 0, 1, 1)
            video_info.addWidget(close_tab, 0, 1, 1, 1)
            video_info.addWidget(re_load, 0, 3, 1, 1)
            video_info.addWidget(goto_webpage, 0, 4, 1, 1)
            video_info.addWidget(video_title, 1, 2, 2, 5)
            video_info.addWidget(upload_time, 2, 3, 1, 3)
            video_info.setAlignment(Qt.AlignTop)

            flv_720 = QPushButton('flv高清')
            mp4_1080 = QPushButton('mp4超清')
            mp4_720 = QPushButton('mp4高清')
            wav_720 = QPushButton('wav高清')

            download_option.addWidget(flv_720)
            download_option.addWidget(mp4_720)
            download_option.addWidget(mp4_1080)
            download_option.addWidget(wav_720)

            video_download = QVBoxLayout()
            video_download.addLayout(video_info)
            video_download.addLayout(download_option)
            self.download_page.setLayout(video_download)

            self.tabwidget.addTab(self.download_page, '{}'.format(title))
            self.tab_num += 1

            self.tabwidget.setCurrentWidget(self.download_page)

            re_load.pressed.connect(self.relaod)
            close_tab.pressed.connect(self.closetab)
            goto_webpage.pressed.connect(lambda: self.gotowebpage(url))
            back_mainpage.pressed.connect(self.backmainpage)

            # self.signal_1(self.video_tabwidget_close)

            # self.temp_thread=self.temp_thread+1
            # while True:
            #     if self.max_thread == self.temp_thread-1:
            #         self.timer=QTimer()
            #         self.timer.start(5000)
            #     else:
            #         break

            # self.browser=QWebEngineView()
            # self.browser.load(url)

            print('method end', time.time())
            f = open('searched_log.csv', 'w')
            # video_title=title
            # save_path=filepath
            # cur_time=time.strftime('%Y%m%d%H%M%S')
            f.write('{0}{1}{2}{3}'.format(title, url, filepath, timeDisplay))

        else:
            self.browser_search = QWebEngineView()
            search_preview = 'https://www.youtube.com/results?search_query={}'.format(
                url)
            # search_preview ='www.bing.com'
            self.search_url = QUrl(search_preview)
            # self.browser_search.load(self.search_url)

            # self.browser=QWebEnginePage()
            # self.browser.load(self.search_url)

            # open system default browser
            open_system_browser = QDesktopServices()
            open_system_browser.openUrl(self.search_url)
コード例 #9
0
ファイル: mainWindow.py プロジェクト: DenisReznikov/Code
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(688, 622)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
        self.verticalLayout.setObjectName("verticalLayout")
        self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
        self.tabWidget.setObjectName("tabWidget")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.tab)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.frame_2 = QtWidgets.QFrame(self.tab)
        self.frame_2.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame_2.setObjectName("frame_2")
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.frame_2)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.groupBox_6 = QtWidgets.QGroupBox(self.frame_2)
        self.groupBox_6.setObjectName("groupBox_6")
        self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.groupBox_6)
        self.verticalLayout_7.setObjectName("verticalLayout_7")
        self.horizontalLayout_16 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_16.setObjectName("horizontalLayout_16")
        self.excel_radioButton = QtWidgets.QRadioButton(self.groupBox_6)
        self.excel_radioButton.setChecked(True)
        self.excel_radioButton.setObjectName("excel_radioButton")
        self.horizontalLayout_16.addWidget(self.excel_radioButton)
        self.csv_radioButton = QtWidgets.QRadioButton(self.groupBox_6)
        self.csv_radioButton.setObjectName("csv_radioButton")
        self.horizontalLayout_16.addWidget(self.csv_radioButton)
        spacerItem = QtWidgets.QSpacerItem(40, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_16.addItem(spacerItem)
        self.load_pushButton = QtWidgets.QPushButton(self.groupBox_6)
        self.load_pushButton.setObjectName("load_pushButton")
        self.horizontalLayout_16.addWidget(self.load_pushButton)
        self.verticalLayout_7.addLayout(self.horizontalLayout_16)
        self.verticalLayout_3.addWidget(self.groupBox_6)
        self.groupBox = QtWidgets.QGroupBox(self.frame_2)
        self.groupBox.setEnabled(True)
        self.groupBox.setObjectName("groupBox")
        self.verticalLayout_18 = QtWidgets.QVBoxLayout(self.groupBox)
        self.verticalLayout_18.setObjectName("verticalLayout_18")
        self.groupBox_3 = QtWidgets.QGroupBox(self.groupBox)
        self.groupBox_3.setEnabled(True)
        self.groupBox_3.setObjectName("groupBox_3")
        self.horizontalLayout_15 = QtWidgets.QHBoxLayout(self.groupBox_3)
        self.horizontalLayout_15.setObjectName("horizontalLayout_15")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.label = QtWidgets.QLabel(self.groupBox_3)
        self.label.setObjectName("label")
        self.horizontalLayout_3.addWidget(self.label)
        self.systems_comboBox = QtWidgets.QComboBox(self.groupBox_3)
        self.systems_comboBox.setEnabled(True)
        self.systems_comboBox.setEditable(False)
        self.systems_comboBox.setCurrentText("")
        self.systems_comboBox.setObjectName("systems_comboBox")
        self.horizontalLayout_3.addWidget(self.systems_comboBox)
        self.horizontalLayout_3.setStretch(1, 1)
        self.horizontalLayout_15.addLayout(self.horizontalLayout_3)
        self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
        self.label_2 = QtWidgets.QLabel(self.groupBox_3)
        self.label_2.setEnabled(True)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout_7.addWidget(self.label_2)
        self.product_comboBox = QtWidgets.QComboBox(self.groupBox_3)
        self.product_comboBox.setEnabled(True)
        self.product_comboBox.setObjectName("product_comboBox")
        self.horizontalLayout_7.addWidget(self.product_comboBox)
        self.horizontalLayout_7.setStretch(1, 1)
        self.horizontalLayout_15.addLayout(self.horizontalLayout_7)
        self.verticalLayout_18.addWidget(self.groupBox_3)
        self.verticalLayout_3.addWidget(self.groupBox)
        self.groupBox_2 = QtWidgets.QGroupBox(self.frame_2)
        self.groupBox_2.setEnabled(True)
        self.groupBox_2.setObjectName("groupBox_2")
        self.horizontalLayout_17 = QtWidgets.QHBoxLayout(self.groupBox_2)
        self.horizontalLayout_17.setObjectName("horizontalLayout_17")
        self.xgboost_checkBox = QtWidgets.QCheckBox(self.groupBox_2)
        self.xgboost_checkBox.setChecked(True)
        self.xgboost_checkBox.setObjectName("xgboost_checkBox")
        self.horizontalLayout_17.addWidget(self.xgboost_checkBox)
        self.catboost_checkBox = QtWidgets.QCheckBox(self.groupBox_2)
        self.catboost_checkBox.setEnabled(False)
        self.catboost_checkBox.setObjectName("catboost_checkBox")
        self.horizontalLayout_17.addWidget(self.catboost_checkBox)
        self.verticalLayout_3.addWidget(self.groupBox_2)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        spacerItem1 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem1)
        self.pushButton_star_modeling = QtWidgets.QPushButton(self.frame_2)
        self.pushButton_star_modeling.setEnabled(True)
        self.pushButton_star_modeling.setObjectName("pushButton_star_modeling")
        self.horizontalLayout_2.addWidget(self.pushButton_star_modeling)
        self.verticalLayout_3.addLayout(self.horizontalLayout_2)
        self.verticalLayout_3.setStretch(1, 1)
        self.horizontalLayout.addWidget(self.frame_2)
        self.tabWidget.addTab(self.tab, "")
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName("tab_2")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.tab_2)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.tabWidget_2 = QtWidgets.QTabWidget(self.tab_2)
        self.tabWidget_2.setEnabled(True)
        self.tabWidget_2.setObjectName("tabWidget_2")
        self.tab_3 = QtWidgets.QWidget()
        self.tab_3.setObjectName("tab_3")
        self.verticalLayout_11 = QtWidgets.QVBoxLayout(self.tab_3)
        self.verticalLayout_11.setObjectName("verticalLayout_11")
        self.widget = QWebEngineView(self.tab_3)
        self.widget.setObjectName("widget")
        self.verticalLayout_11.addWidget(self.widget)
        self.groupBox_5 = QtWidgets.QGroupBox(self.tab_3)
        self.groupBox_5.setObjectName("groupBox_5")
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.groupBox_5)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.verticalLayout_5 = QtWidgets.QVBoxLayout()
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.label_3 = QtWidgets.QLabel(self.groupBox_5)
        self.label_3.setObjectName("label_3")
        self.verticalLayout_5.addWidget(self.label_3)
        self.label_9 = QtWidgets.QLabel(self.groupBox_5)
        self.label_9.setObjectName("label_9")
        self.verticalLayout_5.addWidget(self.label_9)
        self.label_10 = QtWidgets.QLabel(self.groupBox_5)
        self.label_10.setObjectName("label_10")
        self.verticalLayout_5.addWidget(self.label_10)
        self.horizontalLayout_4.addLayout(self.verticalLayout_5)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem2)
        self.verticalLayout_6 = QtWidgets.QVBoxLayout()
        self.verticalLayout_6.setObjectName("verticalLayout_6")
        self.label_4 = QtWidgets.QLabel(self.groupBox_5)
        self.label_4.setObjectName("label_4")
        self.verticalLayout_6.addWidget(self.label_4)
        self.product_spinBox = QtWidgets.QSpinBox(self.groupBox_5)
        self.product_spinBox.setEnabled(True)
        self.product_spinBox.setMaximumSize(QtCore.QSize(63, 20))
        self.product_spinBox.setObjectName("product_spinBox")
        self.verticalLayout_6.addWidget(self.product_spinBox)
        self.product_spinBox_2 = QtWidgets.QSpinBox(self.groupBox_5)
        self.product_spinBox_2.setEnabled(True)
        self.product_spinBox_2.setMaximumSize(QtCore.QSize(63, 20))
        self.product_spinBox_2.setProperty("value", 1)
        self.product_spinBox_2.setObjectName("product_spinBox_2")
        self.verticalLayout_6.addWidget(self.product_spinBox_2)
        self.horizontalLayout_4.addLayout(self.verticalLayout_6)
        spacerItem3 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem3)
        self.verticalLayout_8 = QtWidgets.QVBoxLayout()
        self.verticalLayout_8.setObjectName("verticalLayout_8")
        self.label_5 = QtWidgets.QLabel(self.groupBox_5)
        self.label_5.setObjectName("label_5")
        self.verticalLayout_8.addWidget(self.label_5)
        self.systems_spinBox = QtWidgets.QSpinBox(self.groupBox_5)
        self.systems_spinBox.setEnabled(True)
        self.systems_spinBox.setMaximumSize(QtCore.QSize(63, 20))
        self.systems_spinBox.setObjectName("systems_spinBox")
        self.verticalLayout_8.addWidget(self.systems_spinBox)
        self.systems_spinBox_2 = QtWidgets.QSpinBox(self.groupBox_5)
        self.systems_spinBox_2.setEnabled(True)
        self.systems_spinBox_2.setMaximumSize(QtCore.QSize(63, 20))
        self.systems_spinBox_2.setProperty("value", 1)
        self.systems_spinBox_2.setObjectName("systems_spinBox_2")
        self.verticalLayout_8.addWidget(self.systems_spinBox_2)
        self.horizontalLayout_4.addLayout(self.verticalLayout_8)
        spacerItem4 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem4)
        self.verticalLayout_9 = QtWidgets.QVBoxLayout()
        self.verticalLayout_9.setObjectName("verticalLayout_9")
        self.label_6 = QtWidgets.QLabel(self.groupBox_5)
        self.label_6.setObjectName("label_6")
        self.verticalLayout_9.addWidget(self.label_6)
        self.department_spinBox = QtWidgets.QSpinBox(self.groupBox_5)
        self.department_spinBox.setEnabled(True)
        self.department_spinBox.setMaximumSize(QtCore.QSize(63, 20))
        self.department_spinBox.setObjectName("department_spinBox")
        self.verticalLayout_9.addWidget(self.department_spinBox)
        self.department_spinBox_2 = QtWidgets.QSpinBox(self.groupBox_5)
        self.department_spinBox_2.setEnabled(True)
        self.department_spinBox_2.setMaximumSize(QtCore.QSize(63, 20))
        self.department_spinBox_2.setProperty("value", 1)
        self.department_spinBox_2.setObjectName("department_spinBox_2")
        self.verticalLayout_9.addWidget(self.department_spinBox_2)
        self.horizontalLayout_4.addLayout(self.verticalLayout_9)
        spacerItem5 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem5)
        self.verticalLayout_10 = QtWidgets.QVBoxLayout()
        self.verticalLayout_10.setObjectName("verticalLayout_10")
        self.label_7 = QtWidgets.QLabel(self.groupBox_5)
        self.label_7.setObjectName("label_7")
        self.verticalLayout_10.addWidget(self.label_7)
        self.priority_spinBox = QtWidgets.QSpinBox(self.groupBox_5)
        self.priority_spinBox.setEnabled(True)
        self.priority_spinBox.setMaximumSize(QtCore.QSize(63, 20))
        self.priority_spinBox.setObjectName("priority_spinBox")
        self.verticalLayout_10.addWidget(self.priority_spinBox)
        self.priority_spinBox_2 = QtWidgets.QSpinBox(self.groupBox_5)
        self.priority_spinBox_2.setEnabled(True)
        self.priority_spinBox_2.setMaximumSize(QtCore.QSize(63, 20))
        self.priority_spinBox_2.setProperty("value", 1)
        self.priority_spinBox_2.setObjectName("priority_spinBox_2")
        self.verticalLayout_10.addWidget(self.priority_spinBox_2)
        self.horizontalLayout_4.addLayout(self.verticalLayout_10)
        spacerItem6 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem6)
        self.pushButton_2 = QtWidgets.QPushButton(self.groupBox_5)
        self.pushButton_2.setObjectName("pushButton_2")
        self.horizontalLayout_4.addWidget(self.pushButton_2)
        self.horizontalLayout_4.setStretch(2, 1)
        self.horizontalLayout_4.setStretch(4, 1)
        self.horizontalLayout_4.setStretch(6, 1)
        self.horizontalLayout_4.setStretch(8, 1)
        self.verticalLayout_11.addWidget(self.groupBox_5)
        self.verticalLayout_11.setStretch(0, 1)
        self.tabWidget_2.addTab(self.tab_3, "")
        self.tab_4 = QtWidgets.QWidget()
        self.tab_4.setEnabled(False)
        self.tab_4.setObjectName("tab_4")
        self.tabWidget_2.addTab(self.tab_4, "")
        self.verticalLayout_2.addWidget(self.tabWidget_2)
        self.tabWidget.addTab(self.tab_2, "")
        self.verticalLayout.addWidget(self.tabWidget)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 688, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        self.tabWidget.setCurrentIndex(1)
        self.tabWidget_2.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
コード例 #10
0
    def __init__(self, *args, **kwargs):
        super(TrendPage, self).__init__(*args, **kwargs)
        layout = QHBoxLayout(self)
        layout.setContentsMargins(QMargins(0, 0, 0, 1))
        layout.setSpacing(0)
        self.variety_folded = ScrollFoldedBox()
        self.variety_folded.left_mouse_clicked.connect(self.variety_clicked)
        layout.addWidget(self.variety_folded)
        # 右侧是QTableWidget用于显示数据表信息

        # tableinfo_layout.addWidget(self.data_table)
        # layout.addLayout(tableinfo_layout)
        # 右侧是webView
        r_layout = QVBoxLayout(self)
        self.table_lib_btn = QPushButton("数据库", self, objectName='libBtn')
        self.table_lib_btn.setToolTip("点击查看当前品种数据表")
        self.table_lib_btn.setCursor(Qt.PointingHandCursor)
        self.table_lib_btn.hide()
        self.table_lib_btn.clicked.connect(self.reverse_charts_and_table)
        r_layout.addWidget(self.table_lib_btn, alignment=Qt.AlignLeft)
        self.charts_loader = QWebEngineView(self)
        r_layout.addWidget(self.charts_loader)

        self.data_table = DataTableWidget(self)
        r_layout.addWidget(self.data_table)
        self.data_table.hide()

        layout.addLayout(r_layout)

        self.setLayout(layout)
        # 设置折叠窗的样式
        self.variety_folded.setFoldedStyleSheet("""
        QScrollArea{
            border: none;
        }
        #foldedBox{
            border-right: 1px solid rgb(180, 180, 180);
        }
        #foldedHead{
            background-color: rgb(145,202,182);
            border-bottom: 1px solid rgb(200,200,200);
            border-right: 1px solid rgb(180, 180, 180);
            max-height: 30px;
        }
        #headLabel{
            padding:8px 5px;
            font-weight: bold;
            font-size: 15px;
        }
        #foldedBody{
            background-color: rgb(240, 240, 240);
            border-right: 1px solid rgb(180, 180, 180);
        }
        /*折叠窗内滚动条样式*/
        #foldedBox QScrollBar:vertical{
            width: 5px;
            background: transparent;
        }
        #foldedBox QScrollBar::handle:vertical {
            background: rgba(0, 0, 0, 30);
            width: 5px;
            border-radius: 5px;
            border: none;
        }
        #foldedBox QScrollBar::handle:vertical:hover,QScrollBar::handle:horizontal:hover {
            background: rgba(0, 0, 0, 80);
        }
        """)
        self.setStyleSheet("""
        #libBtn{border:1px solid rgb(200,200,200);border-left:none;color:rgb(254,255,255);background-color:rgb(255,87,87);padding:5px 10px;font-size:14px;font-weight:bold;border-bottom-right-radius:5px}
        #libBtn:hover{color:rgb(15,67,146);font-weight:bold;background-color:rgb(74,247,198)}
        """)
        self.charts_loader.load(QUrl(settings.SERVER_ADDR + 'trend/charts/'))
コード例 #11
0
ファイル: views.py プロジェクト: GuangkunYu/python
    def initUi(self):
        self.hl = QHBoxLayout(self)
        self.widget = QWidget()
        self.gl = QGridLayout(self.widget)
        # ATTR1
        label1 = QLabel(ATTR[0] + ':')
        self.gl.addWidget(label1, 1 - 1, 0, 1, 1)
        self.spinbox1 = QSpinBox()
        self.spinbox1.setSingleStep(100)
        self.spinbox1.setObjectName('spinbox')
        self.spinbox1.valueChanged.connect(self.set_options)
        self.spinbox1.setMaximum(1000)
        self.spinbox1.setValue(randint(0, 1000))
        self.gl.addWidget(self.spinbox1, 1 - 1, 1, 1, 1)
        # ATTR2
        label2 = QLabel(ATTR[1] + ':')
        self.gl.addWidget(label2, 2 - 1, 0, 1, 1)
        self.spinbox2 = QSpinBox()
        self.spinbox2.setSingleStep(100)
        self.spinbox2.setObjectName('spinbox')
        self.spinbox2.valueChanged.connect(self.set_options)
        self.spinbox2.setMaximum(1000)
        self.spinbox2.setValue(randint(0, 1000))
        self.gl.addWidget(self.spinbox2, 2 - 1, 1, 1, 1)
        # ATTR3
        label3 = QLabel(ATTR[2] + ':')
        self.gl.addWidget(label3, 3 - 1, 0, 1, 1)
        self.spinbox3 = QSpinBox()
        self.spinbox3.setSingleStep(100)
        self.spinbox3.setObjectName('spinbox')
        self.spinbox3.valueChanged.connect(self.set_options)
        self.spinbox3.setMaximum(1000)
        self.spinbox3.setValue(randint(0, 1000))
        self.gl.addWidget(self.spinbox3, 3 - 1, 1, 1, 1)
        # ATTR4
        label4 = QLabel(ATTR[3] + ':')
        self.gl.addWidget(label4, 4 - 1, 0, 1, 1)
        self.spinbox4 = QSpinBox()
        self.spinbox4.setSingleStep(100)
        self.spinbox4.setObjectName('spinbox')
        self.spinbox4.valueChanged.connect(self.set_options)
        self.spinbox4.setMaximum(1000)
        self.spinbox4.setValue(randint(0, 1000))
        self.gl.addWidget(self.spinbox4, 4 - 1, 1, 1, 1)
        # ATTR5
        label5 = QLabel(ATTR[4] + ':')
        self.gl.addWidget(label5, 5 - 1, 0, 1, 1)
        self.spinbox5 = QSpinBox()
        self.spinbox5.setSingleStep(100)
        self.spinbox5.setObjectName('spinbox')
        self.spinbox5.valueChanged.connect(self.set_options)
        self.spinbox5.setMaximum(1000)
        self.spinbox5.setValue(randint(0, 1000))
        self.gl.addWidget(self.spinbox5, 5 - 1, 1, 1, 1)
        # ATTR6
        label6 = QLabel(ATTR[5] + ':')
        self.gl.addWidget(label6, 6 - 1, 0, 1, 1)
        self.spinbox6 = QSpinBox()
        self.spinbox6.setSingleStep(100)
        self.spinbox6.setObjectName('spinbox')
        self.spinbox6.valueChanged.connect(self.set_options)
        self.spinbox6.setMaximum(1000)
        self.spinbox6.setValue(randint(0, 1000))
        self.gl.addWidget(self.spinbox6, 6 - 1, 1, 1, 1)
 
        self.hl.addWidget(self.widget)
        vs = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
        self.gl.addItem(vs, 6, 0, 1, 2)
        self.combobox_type = QComboBox()
        self.combobox_type.currentIndexChanged.connect(self.reload_canvas)
        self.combobox_type.addItems(['饼图', '柱状图', '折线图', '折线、柱状图'])
        self.gl.addWidget(self.combobox_type, 7, 0, 1, 2)
        self.combobox_theme = QComboBox()
        self.combobox_theme.currentTextChanged.connect(self.change_theme)
        self.combobox_theme.addItems(['light', 'dark'])
        self.gl.addWidget(self.combobox_theme, 8, 0, 1, 2)
        # 添加web view
        self.view = QWebEngineView()
        self.view.setContextMenuPolicy(Qt.NoContextMenu)
        self.hl.addWidget(self.view)
コード例 #12
0
ファイル: BrowserWindow.py プロジェクト: Waldteufel/shower
    def initUI(self, windowType):
        self.setStyleSheet("""
            #cmdLine, #bar, #bar > * { border: 0px; background: #070707; font-family: "Pro Font"; font-size: 10px; color: white; min-height: 17px }
        """)

        self.setWindowTitle('shower')
        self.setAttribute(Qt.WA_DeleteOnClose)

        vbox = QVBoxLayout()
        self.setLayout(vbox)
        vbox.setContentsMargins(0, 0, 0, 0)
        vbox.setSpacing(0)

        bar = QWidget()
        bar.setObjectName('bar')
        hbox = QHBoxLayout()
        hbox.setContentsMargins(2, 0, 0, 0)
        hbox.setSpacing(0)
        bar.setLayout(hbox)
        vbox.addWidget(bar)

        self.urlLabel = QLabel()
        self.urlLabel.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Preferred)
        self.urlLabel.setTextFormat(Qt.RichText)
        hbox.addWidget(self.urlLabel)
        hbox.setStretch(0, 1)

        self.progressLabel = QLabel()
        self.progressLabel.setTextFormat(Qt.RichText)
        hbox.addWidget(self.progressLabel)

        self.cmdLine = QLineEdit()
        self.cmdLine.setObjectName('cmdLine')
        vbox.addWidget(self.cmdLine)

        self.webView = QWebEngineView()
        self.webView.setPage(BrowserPage(self))
        vbox.addWidget(self.webView)

        self.cmdLine.returnPressed.connect(self.handleCommand)

        self.webView.page().linkHovered.connect(self.onLinkHovered)
        self.webView.page().urlChanged.connect(self.urlChanged)
        self.webView.page().titleChanged.connect(self.onTitleChanged)
        self.webView.page().loadProgress.connect(self.onLoadProgress)
        self.webView.page().loadStarted.connect(self.onLoadStarted)
        self.webView.page().loadFinished.connect(self.onLoadFinished)

        self.urlChanged.connect(self.onUrlChanged)

        self.addShortcut(
            "Alt+Left",
            lambda: self.webView.page().triggerAction(QWebEnginePage.Back))
        self.addShortcut(
            "Alt+Right",
            lambda: self.webView.page().triggerAction(QWebEnginePage.Forward))
        self.addShortcut(
            "Ctrl+R",
            lambda: self.webView.page().triggerAction(QWebEnginePage.Reload))
        self.addShortcut(
            "Ctrl+Shift+R", lambda: self.webView.page().triggerAction(
                QWebEnginePage.ReloadAndBypassCache))
        self.stopShortcut = self.addShortcut(
            "Esc",
            lambda: self.webView.page().triggerAction(QWebEnginePage.Stop))
        self.addShortcut("Ctrl+W", lambda: self.close())
        self.addShortcut("Ctrl+L", lambda: self.beginEnteringCommand(None))
        self.addShortcut("Ctrl+K", lambda: self.beginEnteringCommand('? '))
        self.addShortcut("Ctrl+/", lambda: self.beginEnteringCommand('/ '))
        self.addShortcut("Ctrl+U", lambda: self.toggleSource())
コード例 #13
0
    def __init__(self):
        super(UI, self).__init__()
        self.setWindowTitle('Web browser')
        self.resize(1280, 960)
        self.setWindowIcon(QtGui.QIcon(BASE_DIR + '/static/imgs/sun.png'))
        self.main_toolbar = QtWidgets.QToolBar()
        self.main_toolbar.setIconSize(QtCore.QSize(16, 16))
        self.addToolBar(self.main_toolbar)
        self.tabs = QtWidgets.QTabWidget()
        self.tabs.setDocumentMode(True)
        self.tabs.setTabsClosable(True)
        self.tabs_layout = QtWidgets.QGridLayout()

        self.tabs.setLayout(self.tabs_layout)
        self.url_edit = QtWidgets.QLineEdit()
        self.cwd = os.path.pardir + "/LocalWebTest/static/"

        self.favWebs = favWebs

        self.browser = QWebEngineView()
        # Url = 'https://www.baidu.com'
        # Url = 'https://www.bing.com'
        Url = defaultUrl
        self.browser.setUrl(QtCore.QUrl(Url))
        self.tabs_layout.addWidget(self.browser)
        self.tabs.addTab(self.browser, '')
        self.browser.loadFinished.connect(
            lambda: self.tabs.setTabText(0,
                                         self.browser.page().title()))
        self.setCentralWidget(self.tabs)

        self.turn_button = QAction(
            QIcon(BASE_DIR + '/static/imgs/zhuandao.png'), 'Turn', self)
        self.back_button = QAction(QIcon(BASE_DIR + '/static/imgs/fanhui.png'),
                                   'Back', self)
        self.next_button = QAction(
            QIcon(BASE_DIR + '/static/imgs/tiaozhuan.png'), 'Forward', self)
        self.stop_button = QAction(QIcon(BASE_DIR + '/static/imgs/close.png'),
                                   'Stop', self)
        self.reload_button = QAction(
            QIcon(BASE_DIR + '/static/imgs/shuaxin.png'), 'Reload', self)
        self.add_button = QAction(QIcon(BASE_DIR + '/static/imgs/add.png'),
                                  'Addpage', self)

        #DIY
        self.set_default_openPage_button = QAction(
            QIcon(BASE_DIR + '/static/imgs/lock.png'), 'SetDefault', self)
        self.set_data_button = QAction(
            QIcon(BASE_DIR + '/static/imgs/data.png'), 'AnalyzeData', self)
        self.set_test_button = QAction(
            QIcon(BASE_DIR + '/static/imgs/test.png'), 'TestButton', self)
        self.set_store_button = QAction(
            QIcon(BASE_DIR + '/static/imgs/storage.png'), 'storage', self)

        self.main_toolbar.addAction(self.back_button)
        self.main_toolbar.addAction(self.next_button)
        self.main_toolbar.addAction(self.stop_button)
        self.main_toolbar.addAction(self.reload_button)
        self.main_toolbar.addAction(self.add_button)
        self.main_toolbar.addWidget(self.url_edit)
        self.main_toolbar.addAction(self.turn_button)

        #DIY
        self.main_toolbar.addAction(self.set_default_openPage_button)
        self.main_toolbar.addAction(self.set_data_button)
        self.main_toolbar.addAction(self.set_store_button)
        #测试按钮
        self.main_toolbar.addAction(self.set_test_button)

        self.back_button.triggered.connect(self.browser.back)
        self.next_button.triggered.connect(self.browser.forward)
        self.stop_button.triggered.connect(self.browser.close)
        self.reload_button.triggered.connect(self.browser.reload)
        self.turn_button.triggered.connect(self.OpenUrlLine)
        self.browser.urlChanged.connect(self.setUrlLine)
        self.tabs.tabBarDoubleClicked.connect(self.NewPage)
        self.add_button.triggered.connect(self.NewPage)
        self.tabs.tabCloseRequested.connect(self.Closepage)

        #DIY
        self.set_default_openPage_button.triggered.connect(self.defaultPage)
        self.set_data_button.triggered.connect(self.anaData)
        self.set_store_button.triggered.connect(self.showFavs)
        #测试按钮
        self.set_test_button.triggered.connect(self.test)
        #回车事件判断
        self.url_edit.returnPressed.connect(self.inputTurn)
        #显示访问记录
        self.showHistory()

        self.xstick = ''
        self.ystick = ''
        self.dataPath = ''
        self.sheetName = ''
        self.formType = ''
        self.columns = []
コード例 #14
0
    def setupUi(self, dialog):
        dialog.setObjectName("dialog")
        dialog.resize(1330, 850)
        self.closeWinBtn = QtWidgets.QPushButton(dialog)
        self.closeWinBtn.setGeometry(QtCore.QRect(1160, 780, 131, 31))
        self.closeWinBtn.setObjectName("closeWinBtn")
        self.spinBox_season = QtWidgets.QSpinBox(dialog)
        self.spinBox_season.setGeometry(QtCore.QRect(640, 60, 46, 22))
        self.spinBox_season.setMinimum(1)
        self.spinBox_season.setMaximum(4)
        self.spinBox_season.setObjectName("spinBox_season")
        self.label_picture = QtWidgets.QLabel(dialog)
        self.label_picture.setGeometry(QtCore.QRect(-50, -110, 1541, 1071))
        self.label_picture.setStyleSheet("image: url(:/new/back_big.jpg);")
        self.label_picture.setText("")
        self.label_picture.setObjectName("label_picture")
        self.spinBox_year = QtWidgets.QSpinBox(dialog)
        self.spinBox_year.setGeometry(QtCore.QRect(530, 60, 61, 22))
        self.spinBox_year.setMinimum(2015)
        self.spinBox_year.setMaximum(2020)
        self.spinBox_year.setObjectName("spinBox_year")
        self.label_texts = QtWidgets.QLabel(dialog)
        self.label_texts.setGeometry(QtCore.QRect(440, 60, 81, 21))
        font = QtGui.QFont()
        font.setFamily("Agency FB")
        font.setPointSize(12)
        self.label_texts.setFont(font)
        self.label_texts.setObjectName("label_texts")
        self.pushButton = QtWidgets.QPushButton(dialog)
        self.pushButton.setGeometry(QtCore.QRect(780, 60, 93, 28))
        self.pushButton.setObjectName("pushButton")
        self.label_result1 = QWebEngineView(self)
        self.label_result1.setGeometry(QtCore.QRect(10, 150, 640, 480))
        #self.label_result1.setText("")
        self.label_result1.setObjectName("label_result1")
        self.AddTo = QtWidgets.QPushButton(dialog)
        self.AddTo.setGeometry(QtCore.QRect(260, 700, 121, 28))
        self.AddTo.setObjectName("AddTo")
        self.label_result2 = QWebEngineView(self)
        self.label_result2.setGeometry(QtCore.QRect(680, 150, 640, 480))
        #self.label_result2.setText("")
        self.label_result2.setObjectName("label_result2")
        self.AddTo_2 = QtWidgets.QPushButton(dialog)
        self.AddTo_2.setGeometry(QtCore.QRect(940, 700, 121, 28))
        self.AddTo_2.setObjectName("AddTo_2")
        self.label_texts_2 = QtWidgets.QLabel(dialog)
        self.label_texts_2.setGeometry(QtCore.QRect(594, 60, 41, 21))
        font = QtGui.QFont()
        font.setFamily("Agency FB")
        font.setPointSize(12)
        self.label_texts_2.setFont(font)
        self.label_texts_2.setObjectName("label_texts_2")
        self.label_texts_3 = QtWidgets.QLabel(dialog)
        self.label_texts_3.setGeometry(QtCore.QRect(690, 60, 81, 21))
        font = QtGui.QFont()
        font.setFamily("Agency FB")
        font.setPointSize(12)
        self.label_texts_3.setFont(font)
        self.label_texts_3.setObjectName("label_texts_3")
        self.label_picture.raise_()
        self.closeWinBtn.raise_()
        self.spinBox_season.raise_()
        self.spinBox_year.raise_()
        self.label_texts.raise_()
        self.pushButton.raise_()
        self.label_result1.raise_()
        self.AddTo.raise_()
        self.label_result2.raise_()
        self.AddTo_2.raise_()
        self.label_texts_2.raise_()
        self.label_texts_3.raise_()

        self.retranslateUi(dialog)
        self.closeWinBtn.clicked.connect(dialog.close)
        QtCore.QMetaObject.connectSlotsByName(dialog)

        self.pushButton.clicked.connect(self.on_click)
        self.AddTo.clicked.connect(self.put_into_report1)
        self.AddTo_2.clicked.connect(self.put_into_report2)
コード例 #15
0
 def __init__(self):
     super(QMainWindow, self).__init__()
     self.setGeometry(200, 200, 1250, 650)
     self.browser = QWebEngineView()
     # 所有分析结果存放目录
     self.default_dir = '../result/'
コード例 #16
0
ファイル: browser.py プロジェクト: GalaxyGroot/anki-plugins
    def setupUI(self):
        self.setWindowTitle(AwBrowser.TITLE)
        self.setWindowFlags(Qt.WindowMinMaxButtonsHint
                            | Qt.WindowCloseButtonHint)
        self.setGeometry(450, 200, 800, 450)
        self.setMinimumWidth(640)
        self.setMinimumHeight(450)
        self.setStyleSheet(Style.DARK_BG)

        mainLayout = QVBoxLayout()
        mainLayout.setContentsMargins(0, 0, 0, 0)
        mainLayout.setSpacing(0)
        self.setLayout(mainLayout)

        self._web = QWebEngineView(self)
        self._web.contextMenuEvent = self.contextMenuEvent
        self._web.page().loadStarted.connect(self.onStartLoading)
        self._web.page().loadFinished.connect(self.onLoadFinish)
        self._web.page().loadProgress.connect(self.onProgress)
        self._web.page().urlChanged.connect(self.onPageChange)

        # -------------------- Top / toolbar ----------------------
        navtbar = QToolBar("Navigation")
        navtbar.setIconSize(QSize(16, 16))
        mainLayout.addWidget(navtbar)

        backBtn = QAction(
            QtGui.QIcon(os.path.join(CWD, 'assets', 'arrow-back.png')), "Back",
            self)
        backBtn.setStatusTip("Back to previous page")
        backBtn.triggered.connect(self._web.back)
        navtbar.addAction(backBtn)

        self.forwardBtn = QAction(
            QtGui.QIcon(os.path.join(CWD, 'assets', 'arrow-forward.png')),
            "Forward", self)
        self.forwardBtn.setStatusTip("Next visited page")
        self.forwardBtn.triggered.connect(self._web.forward)
        navtbar.addAction(self.forwardBtn)

        refreshBtn = QAction(
            QtGui.QIcon(os.path.join(CWD, 'assets', 'reload.png')), "Reload",
            self)
        refreshBtn.setStatusTip("Reload")
        refreshBtn.triggered.connect(self._web.reload)
        navtbar.addAction(refreshBtn)

        self.createProvidersMenu(navtbar)

        self._itAddress = QtWidgets.QLineEdit(self)
        self._itAddress.setObjectName("itSite")
        self._itAddress.setStyleSheet('background-color: #F5F5F5;')
        self._itAddress.returnPressed.connect(self._goToAddress)
        navtbar.addWidget(self._itAddress)

        cbGo = QAction(QtGui.QIcon(os.path.join(CWD, 'assets', 'go-icon.png')),
                       "Go", self)
        cbGo.setObjectName("cbGo")
        navtbar.addAction(cbGo)
        cbGo.triggered.connect(self._goToAddress)

        self.stopBtn = QAction(
            QtGui.QIcon(os.path.join(CWD, 'assets', 'stop.png')), "Stop", self)
        self.stopBtn.setStatusTip("Stop loading")
        self.stopBtn.triggered.connect(self._web.stop)
        navtbar.addAction(self.stopBtn)
        # -------------------- Center ----------------------
        mainLayout.addWidget(self._web)
        # -------------------- Bottom bar ----------------------

        bottomWidget = QtWidgets.QWidget(self)
        bottomWidget.setFixedHeight(30)

        bottomLayout = QtWidgets.QHBoxLayout(bottomWidget)
        bottomLayout.setObjectName("bottomLayout")
        bottomWidget.setStyleSheet('color: #FFF;')

        lbSite = QtWidgets.QLabel(bottomWidget)
        lbSite.setObjectName("label")
        lbSite.setText("Context: ")
        lbSite.setFixedWidth(70)
        lbSite.setStyleSheet('font-weight: bold;')
        bottomLayout.addWidget(lbSite)

        self.ctxWidget = QtWidgets.QLabel(bottomWidget)
        self.ctxWidget.width = 300
        self.ctxWidget.setStyleSheet('text-align: left;')
        bottomLayout.addWidget(self.ctxWidget)

        self._loadingBar = QtWidgets.QProgressBar(bottomWidget)
        self._loadingBar.setFixedWidth(100)
        self._loadingBar.setProperty("value", 100)
        self._loadingBar.setObjectName("loadingBar")
        bottomLayout.addWidget(self._loadingBar)

        mainLayout.addWidget(bottomWidget)

        if cfg.getConfig().browserAlwaysOnTop:
            self.setWindowFlags(Qt.WindowStaysOnTopHint)
コード例 #17
0
import sys

from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QUrl
from PyQt5 import QtCore

app = QApplication(sys.argv)
qev = QWebEngineView()
qev.show()

print(QtCore.qVersion())


def runTest():
    try:
        from PyQt5.QtTest import QTest
        from PyQt5.QtCore import Qt
        QTest.keyClick(qev, Qt.Key_Tab)
        print('finished')
    except Exception as e:
        print('exception:', e)
    finally:
        exit()


qev.page().loadFinished.connect(runTest)
qev.load(QUrl('http://google.com'))
app.exec_()
コード例 #18
0
    def __init__(self, model_editor):
        """Initialize the class."""
        super(MainWindow, self).__init__()

        self.setMinimumSize(960, 660)

        self._hsplitter = QtWidgets.QSplitter(QtCore.Qt.Horizontal, self)
        self._model_editor = model_editor
        self.setCentralWidget(self._hsplitter)

        # tabs
        self._tab = QtWidgets.QTabWidget(self._hsplitter)
        self._tab.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        self._tab.setMinimumSize(600, 200)
        self._tab.sizeHint = lambda: QtCore.QSize(700, 250)

        self.info = QWebEngineView(self._tab)
        self.info.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
        self.info_page = panels.InfoPanelPage()
        self.info.setPage(self.info_page)

        """info panel"""
        self.err = panels.ErrorWidget(self._tab)
        """error message panel"""
        self._tab.addTab(self.info, "Structure Info")
        self._tab.addTab(self.err, "Messages")

        # debug panel
        if cfg.config.DEBUG_MODE:
            self.debug_tab = panels.DebugPanelWidget(self._tab)
            self._tab.addTab(self.debug_tab, "Debug")

        # splitters
        self._vsplitter = QtWidgets.QSplitter(QtCore.Qt.Vertical, self._hsplitter)
        self.editor = panels.YamlEditorWidget(self._vsplitter)
        """main editor component"""
        self.tree = panels.TreeWidget(self._vsplitter)
        """tree data display widget"""
        self._vsplitter.addWidget(self.editor)
        self._vsplitter.addWidget(self._tab)
        self._hsplitter.insertWidget(0, self.tree)

        # Menu bar
        self._menu = self.menuBar()
        self._file_menu = MainFileMenu(self, self._model_editor)
        self.update_recent_files(0)
        self._edit_menu = MainEditMenu(self, self.editor)
        self._settings_menu = MainSettingsMenu(self, self._model_editor)
        self._menu.addMenu(self._file_menu)
        self._menu.addMenu(self._edit_menu)
        self._menu.addMenu(self._settings_menu)

        # status bar
        self._column = QtWidgets.QLabel(self)
        self._column.setFrameStyle(QtWidgets.QFrame.StyledPanel)

        self._reload_icon = QtWidgets.QLabel(self)
        self._reload_icon.setPixmap(icon.get_pixmap("refresh", 16))
        self._reload_icon.setVisible(False)
        self._reload_icon_timer = QtCore.QTimer(self)
        self._reload_icon_timer.timeout.connect(lambda: self._reload_icon.setVisible(False))

        cfg.config.observers.append(self)

        self._status = self.statusBar()
        self._status.addPermanentWidget(self._reload_icon)
        self._status.addPermanentWidget(self._column)
        self.setStatusBar(self._status)
        self._status.showMessage("Ready", 5000)

        # signals
        self.err.itemSelected.connect(self._item_selected)
        self.tree.itemSelected.connect(self._item_selected)
        self.editor.nodeChanged.connect(self._reload_node)
        self.editor.cursorChanged.connect(self._cursor_changed)
        self.editor.structureChanged.connect(self._structure_changed)
        self.editor.errorMarginClicked.connect(self._error_margin_clicked)
        self.editor.elementChanged.connect(lambda new, old: self._update_info(new))
        self.editor.nodeSelected.connect(self._on_node_selected)

        # initialize components
        self._update_info(None)
        self.config_changed()

        # set focus
        self.editor.setFocus()
コード例 #19
0
ファイル: downloader.py プロジェクト: logonmy/youtube-stealer
 def gotowebpage(self, url):
     browser_search = QWebEngineView()
     search_url = QUrl(url.replace('watch?v=', 'embed/'))
     browser_search.load(search_url)
コード例 #20
0
 def init_widget(self):
     self.setWindowTitle(self.title)
     web = QWebEngineView()
     url = QUrl.fromLocalFile(r'%s/description.html' % os.getcwd())
     web.load(url)
     self.form_layout.addWidget(web)
コード例 #21
0
    def cal1(self):
        self.num7 = QPushButton("7", self)
        self.num7.setGeometry(250, 250, 100, 50)
        self.num8 = QPushButton("8", self)
        self.num8.setGeometry(350, 250, 100, 50)
        self.num9 = QPushButton("9", self)
        self.num9.setGeometry(450, 250, 100, 50)
        self.num4 = QPushButton("4", self)
        self.num4.setGeometry(250, 300, 100, 50)
        self.num5 = QPushButton("5", self)
        self.num5.setGeometry(350, 300, 100, 50)
        self.num6 = QPushButton("6", self)
        self.num6.setGeometry(450, 300, 100, 50)
        self.num1 = QPushButton("1", self)
        self.num1.setGeometry(250, 350, 100, 50)
        self.num2 = QPushButton("2", self)
        self.num2.setGeometry(350, 350, 100, 50)
        self.num3 = QPushButton("3", self)
        self.num3.setGeometry(450, 350, 100, 50)
        self.num0 = QPushButton("0", self)
        self.num0.setGeometry(250, 400, 100, 50)
        self.numm1 = QPushButton("Pow", self)
        self.numm1.setGeometry(350, 400, 100, 50)
        self.numm2 = QPushButton(".", self)
        self.numm2.setGeometry(450, 400, 100, 50)
        self.numm3 = QPushButton("/", self)
        self.numm3.setGeometry(550, 250, 100, 50)
        self.numm4 = QPushButton("x", self)
        self.numm4.setGeometry(550, 300, 100, 50)
        self.numm5 = QPushButton("-", self)
        self.numm5.setGeometry(550, 350, 100, 50)
        self.numm6 = QPushButton("+", self)
        self.numm6.setGeometry(550, 400, 100, 50)

        self.numm7 = QPushButton("Clear", self)
        self.numm7.setGeometry(250, 450, 200, 50)
        self.line = QLineEdit(self)
        self.line.setGeometry(250, 190, 100, 35)
        self.line1 = QLineEdit(self)
        self.line1.setGeometry(360, 190, 100, 35)
        self.line2 = QLineEdit(self)
        self.line2.setGeometry(500, 190, 150, 35)
        self.label = QLabel("=", self)
        self.label.move(480, 190)
        self.numm8 = QPushButton("Mod", self)
        self.numm8.setGeometry(450, 450, 200, 50)

        self.setWindowTitle(self.tit)
        self.setGeometry(self.top, self.bot, self.wid, self.hei)
        if self.numm6.isEnabled():
            self.numm6.clicked.connect(self.addition)
        if self.numm5.isEnabled():
            self.numm5.clicked.connect(self.sub)
        if self.numm4.isEnabled():
            self.numm4.clicked.connect(self.mul)
        if self.numm3.isEnabled():
            self.numm3.clicked.connect(self.div)
        if self.numm1.isEnabled():
            self.numm1.clicked.connect(self.pow)
        if self.numm8.isEnabled():
            self.numm8.clicked.connect(self.mod)
        # if self.line.isEnabled():
        #     if self.num0.isEnabled():
        #         self.line.text()==0
        self.brow = QWebEngineView()

        noni = QToolBar("navigation")
        noni.setIconSize(QSize(20, 20))
        self.addToolBar(noni)
        back = QAction(QIcon(os.path.join('back.png')), "back", self)
        back.setStatusTip("back to Previous Page")
        back.triggered.connect(self.bac1)
        noni.addAction(back)
        forward = QAction(QIcon(os.path.join('forward.png')), "Forward", self)
        forward.setStatusTip("back to Previous Page")
        forward.triggered.connect(self.brow.forward)
        noni.addAction(forward)
コード例 #22
0
    def initUI(self):
        # Add core elements for the window
        # Add core elements for the window
        self.lblDesign = QLabel("", self)
        self.lblDesign.setStyleSheet(
            "background-color: #019A74; font-weight: bold; color: White; font-family: century gothic; font-size: 16px"
        )
        self.lblDesign.setMinimumSize(1000, 70)

        self.img_logo = QLabel(self)
        pixmap = QPixmap("Images/mini_Teacher3.png")
        self.img_logo.setPixmap(pixmap)
        self.img_logo.move(20, -12)
        self.img_logo.setMinimumSize(100, 100)

        self.lbl_tittle1 = QLabel("Aula ", self)
        self.lbl_tittle1.setStyleSheet(
            "font-weight: b  old; color: white; font-family: century gothic; font-size: 32px"
        )
        self.lbl_tittle1.move(415, 90)

        self.lbl_tittle2 = QLabel("Virtual", self)
        self.lbl_tittle2.setStyleSheet(
            "font-weight: bold; color: white; font-family: century gothic; font-size: 32px"
        )
        self.lbl_tittle2.setMinimumSize(110, 30)
        self.lbl_tittle2.move(507, 90)

        # This window
        # self.setFixedSize(1366, 768)
        self.setFixedSize(1000, 700)
        self.setWindowTitle('Aula virtual')
        palette = QPalette()

        palette.setBrush(QPalette.Background, QBrush(QColor("#1B528A")))

        # # Slides
        # self.lbl_slides = QLabel("", self)
        # self.lbl_slides.setStyleSheet(
        #     "background-color: #019A74; font-weight: bold; color: White; font-family: century gothic; font-size: 16px")
        # self.lbl_slides.setMinimumSize(645, 355)
        # self.lbl_slides.move(293, 140)

        # Camera
        self.lbl_camera = QVBoxLayout()

        self.web = QWebEngineView(self)
        settings = QWebEngineSettings.globalSettings().setAttribute(
            QWebEngineSettings.PluginsEnabled, True)
        settings = QWebEngineSettings.globalSettings().setAttribute(
            QWebEngineSettings.AllowRunningInsecureContent, True)
        self.web.page().featurePermissionRequested.connect(self.permisos)
        self.iniciar_video()
        # self.web.page().setUrl(QUrl("http://localhost:5080/demos/simpleSubscriber.html"))
        # self.web.load(QUrl("http://localhost:5080/demos/simpleSubscriber.html"))
        self.web.setMinimumSize(370, 300)
        self.web.move(60, 140)
        self.web.show()

        self.lbl_camera.addWidget(self.web)

        self.lbl_slides = QVBoxLayout()

        self.web_slides = QWebEngineView(self)
        print(self.clase["CARPETA_COMPARTIDA"])
        self.web_slides.page().setUrl(QUrl(self.clase["CARPETA_COMPARTIDA"]))
        # self.web_slides.setEnabled(False)
        self.web_slides.setMinimumSize(480, 300)
        self.web_slides.move(450, 140)
        self.web_slides.show()

        self.lbl_slides.addWidget(self.web_slides)

        # self.lbl_camera.setStyleSheet(
        #     "background-color: #019A74; font-weight: bold; color: White; font-family: century gothic; font-size: 16px")

        # self.lbl_camera.
        # Chat
        self.lbl_chat = QLabel("", self)
        self.lbl_chat.setStyleSheet(
            "background-color: White; font-weight: bold; color: White; font-family: century gothic; font-size: 16px"
        )
        self.lbl_chat.setMinimumSize(645, 220)
        self.lbl_chat.move(293, 460)

        self.txt_messages = QTextEdit("", self)
        self.txt_messages.setStyleSheet(
            "font-weight: bold; color: black; font-family: century gothic; font-size: 16px"
        )
        self.txt_messages.setMinimumSize(630, 130)
        self.txt_messages.move(300, 477)
        self.txt_messages.setReadOnly(True)

        # Text field
        self.txt_message = QTextEdit("", self)
        self.txt_message.setStyleSheet(
            "font-weight: bold; color: black; font-family: century gothic; font-size: 16px"
        )
        self.txt_message.setMinimumSize(520, 55)
        self.txt_message.move(300, 615)

        # Send button
        self.btn_send = QPushButton('Enviar', self)
        self.btn_send.move(830, 635)
        self.btn_send.setStyleSheet(
            "background-color: #08AE9E; font-weight: bold; color: White; font-family: century gothic; font-size: 16px"
        )
        self.btn_send.clicked.connect(self.click_send)

        # Student's list
        self.lbl_list = QLabel("", self)
        self.lbl_list.setStyleSheet(
            "background-color: #019A74; font-weight: bold; color: White; font-family: century gothic; font-size: 16px"
        )
        self.lbl_list.setMinimumSize(190, 19)
        self.lbl_list.move(60, 510)

        self.lbl_last_name_m = QLabel("Alumnos conectados", self)
        self.lbl_last_name_m.setStyleSheet(
            "font-weight: bold; color: white; font-family: century gothic; font-size: 15px"
        )
        self.lbl_last_name_m.setMinimumSize(190, 25)
        self.lbl_last_name_m.move(70, 510)

        self.list = QListWidget(self)
        self.list.setMinimumSize(190, 140)
        self.list.move(60, 540)

        # self.model = QStandardItemModel(self.list)
        #
        # #Set default items
        # alumnos = ['Ana Paola', 'Susana', 'Erasmo Carlos']
        # for alumno in alumnos:
        #     item = QStandardItem(alumno)
        #     self.model.appendRow(item)
        #
        # self.list.setModel(self.model)
        self.list.show()
        self.iniciar_conectados()

        #Participation button
        self.cargar_botones()

        #Log out button
        self.lbl_logout = QLabel('Cerrar sesión', self)
        self.lbl_logout.move(830, 40)
        self.lbl_logout.setStyleSheet(
            "font-weight: bold; color: white; font-family: century gothic; font-size: 14px"
        )

        self.lbl_logout.setMinimumSize(100, 15)
        self.lbl_logout.mousePressEvent = self.click_exit

        self.lbl_clase = QLabel(self.clase["CLASE"], self)
        self.lbl_clase.move(110, 40)
        self.lbl_clase.setStyleSheet(
            "font-weight: bold; color: white; font-family: century gothic; font-size: 16px"
        )
        self.lbl_clase.setMinimumSize(350, 15)

        # 2F4D6B"
        self.setPalette(palette)
        self.show()
コード例 #23
0
    def __init__(self, url, disable_browser):

        # initialize
        super().__init__()
        self._view = None
        self._is_closing = False

        # initialize the main window
        self.setWindowTitle(APP_NAME)
        if IS_FROZEN:
            base_dir = os.path.join(sys._MEIPASS, "vasl_templates/webapp")  #pylint: disable=no-member,protected-access
        else:
            base_dir = os.path.join(os.path.split(__file__)[0], "webapp")
        self.setWindowIcon(
            QIcon(os.path.join(base_dir, "static/images/app.ico")))

        # create the menu
        menu_bar = QMenuBar(self)
        file_menu = menu_bar.addMenu("&File")

        def add_action(caption, icon, handler):
            """Add a menu action."""
            icon = QIcon(
                os.path.join(base_dir, "static/images/menu", icon
                             ) if icon else None)
            action = QAction(icon, caption, self)
            action.triggered.connect(handler)
            file_menu.addAction(action)

        add_action("&Settings", "settings.png", self.on_settings)
        add_action("&About", "info.png", self.on_about)
        file_menu.addSeparator()
        add_action("E&xit", "exit.png", self.on_exit)

        # set the window geometry
        if disable_browser:
            self.setFixedSize(300, 108)
        else:
            # restore it from the previous session
            val = app_settings.value("MainWindow/geometry")
            if val:
                self.restoreGeometry(val)
            else:
                self.resize(1000, 650)
            self.setMinimumSize(1000, 620)

        # initialize the layout
        layout = QVBoxLayout(self)
        layout.setMenuBar(menu_bar)
        # FUDGE! We offer the option to disable the QWebEngineView since getting it to run
        # under Windows (especially older versions) is unreliable (since it uses OpenGL).
        # By disabling it, the program will at least start (in particular, the webapp server),
        # and non-technical users can then open an external browser and connect to the webapp
        # that way. Sigh...
        if not disable_browser:

            # initialize the web view
            self._view = QWebEngineView()
            layout.addWidget(self._view)

            # initialize the web page
            # nb: we create an off-the-record profile to stop the view from using cached JS files :-/
            profile = QWebEngineProfile(None, self._view)
            version = APP_NAME.lower().replace(" ",
                                               "-") + "/" + APP_VERSION[1:]
            profile.setHttpUserAgent(
                re.sub(r"QtWebEngine/\S+", version, profile.httpUserAgent()))
            page = AppWebPage(profile, self._view)
            self._view.setPage(page)

            # create a web channel to communicate with the front-end
            web_channel = QWebChannel(page)
            # FUDGE! We would like to register a WebChannelHandler instance as the handler, but this crashes PyQt :-/
            # Instead, we register ourself as the handler, and delegate processing to a WebChannelHandler.
            # The downside is that PyQt emits lots of warnings about our member variables not being properties,
            # but we filter them out in qtMessageHandler() :-/
            self._web_channel_handler = WebChannelHandler(self)
            web_channel.registerObject("handler", self)
            page.setWebChannel(web_channel)

            # load the webapp
            url += "?pyqt=1"
            self._view.load(QUrl(url))

        else:

            # show a minimal UI
            label = QLabel()
            label.setTextFormat(Qt.RichText)
            label.setText(
                "Running the <em>{}</em> application. <br>" \
                "Click <a href='{}'>here</a> to connect." \
                "<p> Close this window when you're done.".format(
                APP_NAME, url
            ) )
            label.setStyleSheet(
                "QLabel { background-color: white ; padding: 0.5em ; }")
            label.setOpenExternalLinks(True)
            layout.addWidget(label)
            layout.setContentsMargins(QMargins(0, 0, 0, 0))

        # register the instance
        assert MainWindow.instance is None
        MainWindow.instance = self
コード例 #24
0
ファイル: main.py プロジェクト: HipyCas/PyBrowse
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)

        self.browser = QWebEngineView()
        self.browser.setUrl(QUrl("https://www.google.com"))

        ### Navigation Toolbar
        navtb = QToolBar("Navigation")
        navtb.setIconSize(QSize(16, 16))
        self.addToolBar(navtb)

        # Back Action
        back_btn = QAction(QIcon('ui/black/filled/chevron_left-48dp.svg'),
                           "Back", self)
        back_btn.setStatusTip("Back to previous page")
        back_btn.triggered.connect(self.browser.back)
        navtb.addAction(back_btn)

        # Forward Action
        next_btn = QAction(QIcon('ui/black/filled/chevron_right-48dp.svg'),
                           "Forward", self)
        next_btn.setStatusTip("Forward to next page")
        next_btn.triggered.connect(self.browser.forward)
        navtb.addAction(next_btn)

        # Reload Action
        reload_btn = QAction(QIcon('ui/black/filled/refresh-48dp.svg'),
                             "Reload", self)
        reload_btn.setStatusTip("Reload page")
        reload_btn.triggered.connect(self.browser.reload)
        navtb.addAction(reload_btn)

        # Home Action
        home_btn = QAction(QIcon('ui/black/filled/home-18dp.svg'), "Home",
                           self)
        home_btn.setStatusTip("Go home")
        home_btn.triggered.connect(self.navigate_home)
        navtb.addAction(home_btn)

        # HTTPS Icon
        self.httpsicon = QAction(
            QIcon('ui/black/filled/no_encryption-48dp.svg'), '', self)
        self.httpsicon.setStatusTip("Page is not SSL protected")
        self.httpsicon.setEnabled(False)
        #self.httpsicon.setPixmap(QPixmap('ui/black/filled/no_encryption-18dp.svg'))
        navtb.addAction(self.httpsicon)

        # URL Bar
        self.urlbar = QLineEdit()
        self.urlbar.returnPressed.connect(self.navigate_to_url)
        navtb.addWidget(self.urlbar)

        # Load stop Action
        stop_btn = QAction(QIcon('ui/black/filled/close-48dp.svg'), "Stop",
                           self)
        stop_btn.setStatusTip("Stop loading current page")
        stop_btn.triggered.connect(self.browser.stop)
        navtb.addAction(stop_btn)

        # Updates
        self.browser.urlChanged.connect(self.update_urlbar)
        self.browser.loadFinished.connect(self.update_title)

        ### File Menu
        file_menu = self.menuBar().addMenu("&File")

        # Open Action
        open_file_action = QAction(
            QIcon('ui/black/filled/folder_open-48dp.svg'), "Open file...",
            self)
        open_file_action.setStatusTip('&Open from file')
        open_file_action.triggered.connect(self.open_file)
        file_menu.addAction(open_file_action)

        # Save Action
        save_file_action = QAction(QIcon('ui/black/filled/save-48dp.svg'),
                                   "Save file...", self)
        save_file_action.setText('&Save to file')
        save_file_action.triggered.connect(self.save_file)
        file_menu.addAction(save_file_action)

        ### Help Menu
        help_menu = self.menuBar().addMenu("&Help")

        # About dialog Action
        about_action = QAction(QIcon('ui/black/filled/help-48dp.svg'),
                               "&About PyBrowse", self)
        about_action.setStatusTip("Find out more about PyBrowse")  # Hungry!
        about_action.triggered.connect(self.about)
        help_menu.addAction(about_action)

        # Visit official site Action
        navigate_mozarella_action = QAction(
            QIcon('ui/black/filled/language-48dp.svg'), "PyBrowse &Homepage",
            self)
        navigate_mozarella_action.setStatusTip("Go to PyBrowse Homepage")
        navigate_mozarella_action.triggered.connect(self.navigate_page)
        help_menu.addAction(navigate_mozarella_action)

        self.setCentralWidget(self.browser)

        self.show()
import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineView
app = QApplication(sys.argv)
browser = QWebEngineView()
browser.load(QUrl("http://www.baidu.com/"))
browser.show()
app.exec_()
コード例 #26
0
    def __init__(self):
        super(UI, self).__init__()
        self.setWindowTitle('国内城市旅行规划')
        self.resize(1000, 1000)
        self.setFixedSize(1000, 1000)
        self.setWindowIcon(QIcon(':/icon.png'))
        self.setStyleSheet('QWidget{background-color:white}')

        # 浏览器窗口
        self.browser = QWebEngineView(self)
        self.browser.setGeometry(0, 0, 1000, 1000)
        self.zoom = 10
        self.lontitude = 102.672914
        self.latitude = 24.854418
        self.Latitude = []
        self.center = []

        # self.mark = '&markers='
        self.mark = ''
        # self.X = 'mid,0x'+color+',1:103.272914,24.754418;103.382904,25.098624;103.187825,26.082873;103.290785,24.771798;103.290785,24.771798;103.324432,24.8122|'
        self.X = ''
        color = "%06x" % randint(0, 0xFFFFFF)
        self.Y = ''
        # self.Y = 'mid,0x'+color+',2:102.665546,24.960582;102.666754,24.964496;102.665546,24.960582;102.664376,25.038297;102.640854,24.956885;102.671114,25.023184;102.668468,24.966766;102.659138,24.960492;102.6655,24.9598;102.651073,24.973296'
        Url = 'https://restapi.amap.com/v3/staticmap?location=' + str(
            self.lontitude
        ) + ',' + str(self.latitude) + '&zoom=' + str(
            self.zoom
        ) + '&size=1000*1000' + self.mark + self.X + self.Y + '&key=e64e53102dc5f929aed6622db61f3167'
        self.browser.setUrl(QUrl(Url))

        # 工具条
        self.main_toolbar = QToolBar(self)
        self.main_toolbar.setIconSize(QSize(30, 30))
        self.addToolBar(self.main_toolbar)

        # 添加按钮
        self.Zoomin_button = QAction(QIcon(':/ZoomIn.png'), '放大', self)
        self.Zoomout_button = QAction(QIcon(':/ZoomOut.png'), '缩小', self)

        self.Up_button = QAction(QIcon(':/Up.png'), '向上移动', self)
        self.Down_button = QAction(QIcon(':/Down.png'), '向下移动', self)
        self.Left_button = QAction(QIcon(':/Left.png'), '向左移动', self)
        self.Right_button = QAction(QIcon(':/Right.png'), '向右移动', self)
        # 添加文本框
        self.place_text = QLineEdit(self)
        self.place_text.setMaximumWidth(280)
        self.place_text.setPlaceholderText("请输入旅行的城市(省份):")
        font = QFont()
        font.setFamily('楷体')  # 设置字体
        font.setBold(True)  # 设置粗体
        font.setPixelSize(15)
        font.setPointSize(12)
        self.place_text.setFont(font)
        # 添加按钮,调用trans_address_to_lalo函数
        self.Insertplace_button = QAction(QIcon(':/Enter.png'), '输入', self)
        # 添加文本框
        self.time_text = QLineEdit(self)
        self.time_text.setMaximumWidth(270)
        self.time_text.setPlaceholderText("请输入计划天数(次数):")
        font = QFont()
        font.setFamily('楷体')  # 设置字体
        font.setBold(True)  # 设置粗体
        font.setPixelSize(15)
        font.setPointSize(12)
        self.time_text.setFont(font)
        # 添加按钮,调用run_and_draw函数
        self.Inserttime_button = QAction(QIcon(':/Enter.png'), '输入', self)

        # 添加按钮,绘图
        self.Submit = QPushButton(self)
        self.Submit.setStyleSheet(''' 
           QPushButton{font-size:25px; border-width:20px;color:white;background-color:rgb(30,111,255);}
           QPushButton:hover{font-size:25px; border-width:5px;color:white;background-color:rgb(83,145,255);border-radius:5px;}
           QPushButton:pressed{font-size:25px; border-width:5px;color:white;background-color:rgb(27,101,135);border-radius:5px;}
                                           ''')
        self.Submit.setText('提交计算(S)')

        # 添加按钮动作

        # 放大缩小,移动地图
        self.main_toolbar.addAction(self.Zoomin_button)
        self.main_toolbar.addAction(self.Zoomout_button)
        self.main_toolbar.addAction(self.Up_button)
        self.main_toolbar.addAction(self.Down_button)
        self.main_toolbar.addAction(self.Left_button)
        self.main_toolbar.addAction(self.Right_button)
        # 放大缩小,写入地点按钮
        self.main_toolbar.addWidget(self.place_text)
        self.main_toolbar.addAction(self.Insertplace_button)
        # 放大缩小,写入K_means算法的k
        self.main_toolbar.addWidget(self.time_text)
        self.main_toolbar.addAction(self.Inserttime_button)
        # 调用run_and_draw函数
        self.main_toolbar.addWidget(self.Submit)
        # 添加按钮函数

        self.Zoomin_button.triggered.connect(self.Zoomin)
        self.Zoomout_button.triggered.connect(self.Zoomout)
        self.Up_button.triggered.connect(self.Up)
        self.Down_button.triggered.connect(self.Down)
        self.Left_button.triggered.connect(self.Left)
        self.Right_button.triggered.connect(self.Right)

        self.Insertplace_button.triggered.connect(self.Insertplace)
        self.Inserttime_button.triggered.connect(self.Inserttime)

        self.Submit.pressed.connect(self.Upload)
コード例 #27
0
    def contentWidget(self):
        # select region v box 1
        select_region_h_box1 = QHBoxLayout()
        # selection one notice
        select_region_h_box1.addSpacing(10)
        # selection label 1
        self.select_region_label = QLabel("Select Region", self)
        select_region_h_box1.addWidget(self.select_region_label)
        # drop down button
        self.select_region_combo = QComboBox(self)
        self.select_region_combo.addItems(self.italy_regions)
        select_region_h_box1.addWidget(self.select_region_combo)
        # push button
        self.select_region_botton = QPushButton("Check Region", self)
        self.select_region_botton.pressed.connect(self.italyRegionClicked)
        select_region_h_box1.addWidget(self.select_region_botton)

        # select region v box 2
        select_region_h_box2 = QHBoxLayout()
        select_region_h_box2.addSpacing(10)
        # selection label 1
        self.select_region_label = QLabel("Italy against", self)
        select_region_h_box2.addWidget(self.select_region_label)

        # drop down button (combo )
        self.select_euro_combo = QComboBox(self)
        self.select_euro_combo.addItems(self.european_countries)
        select_region_h_box2.addWidget(self.select_euro_combo)
        # push button
        self.compare_button = QPushButton("Compare", self)
        self.compare_button.pressed.connect(self.europeanCountriesClicked)
        select_region_h_box2.addWidget(self.compare_button)

        # selection main V box
        select_region_main_v_box = QVBoxLayout()

        # An overall language pull down menu is being requested at the very top of the GUI
        # with the option of English and Italian labelling
        language_h_box = QHBoxLayout()
        self.language_lbl = QLabel("Select Language", self)
        self.language_combobox = QComboBox()
        # language option
        options = ([
            ('English', 'en'),
            ('Italian', 'it'),
            ('Spanish', 'es'),
            ('Chinese', 'zh-CN'),
        ])
        # add language and change language
        for i, (text, lang) in enumerate(options):
            self.language_combobox.addItem(text)
            self.language_combobox.setItemData(i, lang)

        language_h_box.addWidget(self.language_lbl)
        # on index changed
        self.language_combobox.currentIndexChanged.connect(
            self.languageChanged)

        language_h_box.addWidget(self.language_combobox)
        language_h_box.addStretch()
        # add  language_h_box layout
        select_region_main_v_box.addLayout(language_h_box)

        # Italy Region Covid Report
        self.italy_lbl = QLabel("Italy Region Covid Report", self)
        self.italy_lbl.setStyleSheet("border: 0.5px solid gray")
        select_region_main_v_box.addWidget(self.italy_lbl)
        select_region_main_v_box.addLayout(select_region_h_box1)
        select_region_main_v_box.setSpacing(15)
        self.euro_text = QLabel(
            "Italy Covid report against European countries", self)
        self.euro_text.setStyleSheet("border: 0.5px solid gray")
        select_region_main_v_box.addWidget(self.euro_text)
        select_region_main_v_box.addLayout(select_region_h_box2)
        select_region_main_v_box.addStretch()

        # for region map and demographic
        region_map_box = QVBoxLayout()

        self.coordinate_title = "This is a title"
        self.coordinate = coordinate['Campania']

        m = folium.Map(tiles="Stamen Terrain",
                       zoom_start=6,
                       location=self.coordinate)

        # create HTML for pop up
        def foliumHtml(lo):
            # get stats
            if lo != "Italy":
                stats = self.core.getRegionStats(str(lo))
                return f"""
                 <h1 style='color:#7b113a;'> {lo} </h1>
                 <hr/>
                 <p style='color:#7b113a;font-size:20px;'>Region Population: {stats['region_population']}</p>
                 <p style='color:#7b113a;font-size:20px;'>Total Covid Case: {stats['case_number']}</p>
                 <p style='color:#7b113a;font-size:20px;'>Daily Cases: {stats['expectedChanges']}</p>
                 <p style='color:#7b113a;font-size:20px;'>Percentage: {stats['percentage']}%</p>
                 """
            else:
                return f"""
                 <h1> {lo}</h1>
                 <p>European country with a long Mediterranean coastline, has left a powerful mark on Western culture and cuisine.</p>
                 """

        # add marker one by one on the map
        for lo in coordinate:
            # add pop ups
            html = foliumHtml(lo)
            iframe = folium.IFrame(html=html, width=300, height=250)
            popUp = folium.Popup(iframe, max_width=2650)
            # Marker starts here
            folium.Marker(location=coordinate[lo],
                          popup=popUp,
                          icon=folium.DivIcon(html=f"""
                     <div><svg>
                         <circle cx="50" cy="50" r="40" fill="#7b113a" opacity=".4"/>
                         <rect x="35", y="35" width="30" height="30", fill="#fff600", opacity=".3" 
                     </svg></div>""")).add_to(m)

        # save map data to data object
        data = io.BytesIO()
        m.save(data, close_file=False)

        webView = QWebEngineView()
        webView.setHtml(data.getvalue().decode())
        region_map_box.addWidget(webView)

        # main box top - bottom
        h_box = QHBoxLayout()
        h_box.addLayout(select_region_main_v_box)
        h_box.addLayout(region_map_box)
        self.setLayout(h_box)
コード例 #28
0
    def setupUi(self, Form, url):
        """
         Método empleado para especificar el contenido de la Interfáz gráfica, es generado por pyuic5.
         Args:
          Form: Ventana en la que se deplegará la interfáz gráfica (es un tipo de dato QtWidget.QWidget) 
        """
        Form.setObjectName("Form")
        Form.resize(800, 598)
        self.verticalLayoutWidget = QtWidgets.QWidget(Form)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(220, 0, 581, 541))
        self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.lblLogo = QtWidgets.QLabel(self.verticalLayoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.lblLogo.sizePolicy().hasHeightForWidth())
        self.lblLogo.setSizePolicy(sizePolicy)
        self.lblLogo.setMaximumSize(QtCore.QSize(1697/3.5, 312/3.5))
        self.lblLogo.setLineWidth(1)
        self.lblLogo.setText("")
        self.lblLogo.setPixmap(QtGui.QPixmap(APPCTXT().get_resource("logo3.png")))
        self.lblLogo.setScaledContents(True)
        self.lblLogo.setAlignment(QtCore.Qt.AlignCenter)
        self.lblLogo.setObjectName("lblLogo")
        self.horizontalLayout.addWidget(self.lblLogo)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.label_4 = QtWidgets.QLabel(self.verticalLayoutWidget)
        self.label_4.setToolTip("")
        self.label_4.setAlignment(QtCore.Qt.AlignCenter)
        self.label_4.setObjectName("label_4")
        self.verticalLayout_2.addWidget(self.label_4)



        self.webEngineWidget = QWebEngineView(self.verticalLayoutWidget)
        self.webEngineWidget.setObjectName("webEngineWidget")
        self.webEngineWidget.setMinimumSize(QtCore.QSize(0, 381))
        #url = QUrl.fromLocalFile(QDir.currentPath()+"/Reporte/reporte.html")
        urlReporte = QUrl.fromLocalFile(url)
        self.webEngineWidget.load(urlReporte)
        self.verticalLayout_2.addWidget(self.webEngineWidget)


        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        
        self.pbStart = QtWidgets.QPushButton(self.verticalLayoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.pbStart.sizePolicy().hasHeightForWidth())
        self.pbStart.setSizePolicy(sizePolicy)
        self.pbStart.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.pbStart.setObjectName("pbStart")
        self.horizontalLayout_2.addWidget(self.pbStart)

        self.pdSaveCsv = QtWidgets.QPushButton(self.verticalLayoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.pdSaveCsv.sizePolicy().hasHeightForWidth())
        self.pdSaveCsv.setSizePolicy(sizePolicy)
        self.pdSaveCsv.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.pdSaveCsv.setObjectName("pdSaveCsv")
        self.horizontalLayout_2.addWidget(self.pdSaveCsv)

        self.pbRestart = QtWidgets.QPushButton(self.verticalLayoutWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.pbRestart.sizePolicy().hasHeightForWidth())
        self.pbRestart.setSizePolicy(sizePolicy)
        self.pbRestart.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.pbRestart.setObjectName("pbRestart")
        self.horizontalLayout_2.addWidget(self.pbRestart)

        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
        self.verticalLayout_2.setStretch(0, 1)
        self.verticalLayout_2.setStretch(1, 5)
        self.verticalLayout.addLayout(self.verticalLayout_2)
        self.verticalLayout.setStretch(0, 1)
        self.verticalLayout.setStretch(0, 0)
        self.lWVistas = QtWidgets.QListWidget(Form)
        self.lWVistas.setGeometry(QtCore.QRect(0, 90, 221, 451))
        self.lWVistas.setObjectName("lWVistas")

        self.progressBar = QtWidgets.QProgressBar(Form)
        self.progressBar.setGeometry(QtCore.QRect(127, 560, 601, 23))
        self.progressBar.setProperty("value", 24)
        self.progressBar.setObjectName("progressBar")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)
コード例 #29
0
    def __init__(self, parent=None):
        super().__init__(parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.actionShow.triggered.connect(self.toggle_mode)
        self.ui.actionSave.triggered.connect(self.save_note)
        self.ui.actionLoadShelf.triggered.connect(self.download_shelf)
        self.ui.actionLoadHot.triggered.connect(self.show_hot_note)
        self.ui.actionLoadNotes.triggered.connect(self.download_notes)
        self.ui.statusBar.hide()
        self.pbar = QProgressBar(self)
        self.pbar.setFixedWidth(500)
        self.ui.statusBar.addWidget(self.pbar)
        icon = QtGui.QIcon()
        icon.addPixmap(
            QtGui.QPixmap(os.path.join(root_path, "static/icon.png")),
            QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.setWindowIcon(icon)

        self.browser = QWebEngineView(self)
        self.browser.setGeometry(
            0,
            self.ui.menubar.height(),
            self.width(),
            self.height() - self.ui.menubar.height(),
        )
        self.ui.actionback.triggered.connect(self.browser.back)
        self.ui.actionforward.triggered.connect(self.browser.forward)
        self.ui.actionShelf.triggered.connect(self.view_shelf)
        self.ui.actionLibrary.triggered.connect(self.view_library)

        # 加载外部的web页面
        self.cache_path = os.path.join(root_path, "cache")
        if not os.path.exists(self.cache_path):
            os.mkdir(self.cache_path)

        # 设置缓存目录
        default_profile = QWebEngineProfile.defaultProfile()
        default_profile.setCachePath(self.cache_path)
        default_profile.setPersistentStoragePath(self.cache_path)

        # 记录上次阅读位置
        self.history_url_file = os.path.join(self.cache_path,"history.txt")
        if not os.path.exists(self.history_url_file):
            url = QUrl("https://weread.qq.com/")
        else:
            with open(self.history_url_file,'r') as f:
                url = QUrl(f.read().strip())

        self.browser.urlChanged.connect(self.update_lastpage) # 每次改变都更新还是退出的时候更新

        self.browser.load(url)
        self.model = QStringListModel(self)
        self.item_model = QStandardItemModel(self)
        self.select_model = QItemSelectionModel(self.item_model)
        self.ui.tableView.setModel(self.item_model)
        self.ui.tableView.setSelectionModel(self.select_model)
        self.ui.tableView.setAlternatingRowColors(True)
        self.ui.tableView.setSelectionBehavior(QAbstractItemView.SelectRows)

        self.is_reading_mode = True
        self.note_dir = os.path.join(root_path, "notes")
        if not os.path.exists(self.note_dir):
            os.mkdir(self.note_dir)

        try:
            self.update_cookies()
            self.booklist = wereader.get_bookshelf(self.cookies)
            self.books = itertools.cycle(self.booklist)
            self.curBook = self.booklist[0]
        except Exception:
            self.curBook = None
            self.booklist = None
コード例 #30
0
ファイル: mainwindow.py プロジェクト: gbtami/EbookCreator
    def createUi(self):
        self.content = Expander("Content", ":/images/parts.svg")
        self.images = Expander("Images", ":/images/images.svg")
        self.settings = Expander("Settings", ":/images/settings.svg")

        self.setWindowTitle(QCoreApplication.applicationName() + " " + QCoreApplication.applicationVersion())
        vbox = QVBoxLayout()
        vbox.addWidget(self.content)
        vbox.addWidget(self.images)
        vbox.addWidget(self.settings)
        vbox.addStretch()

        self.content_list = QListWidget()
        self.content_list.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Fixed)
        content_box = QVBoxLayout()
        content_box.addWidget(self.content_list)
        self.item_edit = QLineEdit()
        self.item_edit.setMaximumHeight(0)
        self.item_edit.editingFinished.connect(self.editItemFinished)
        self.item_anim = QPropertyAnimation(self.item_edit, "maximumHeight".encode("utf-8"))
        content_box.addWidget(self.item_edit)
        button_layout = QHBoxLayout()
        plus_button = FlatButton(":/images/plus.svg")
        self.edit_button = FlatButton(":/images/edit.svg")
        self.trash_button = FlatButton(":/images/trash.svg")
        self.up_button = FlatButton(":/images/up.svg")
        self.down_button = FlatButton(":/images/down.svg")
        self.trash_button.enabled = False
        self.up_button.enabled = False
        self.down_button.enabled = False
        button_layout.addWidget(plus_button)
        button_layout.addWidget(self.up_button)
        button_layout.addWidget(self.down_button)
        button_layout.addWidget(self.edit_button)
        button_layout.addWidget(self.trash_button)
        content_box.addLayout(button_layout)
        self.content.addLayout(content_box)
        plus_button.clicked.connect(self.addPart)
        self.trash_button.clicked.connect(self.dropPart)
        self.up_button.clicked.connect(self.partUp)
        self.down_button.clicked.connect(self.partDown)
        self.edit_button.clicked.connect(self.editPart)

        self.image_list = QListWidget()
        self.image_list.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Fixed)
        image_box = QVBoxLayout()
        image_box.addWidget(self.image_list)
        image_button_layout = QHBoxLayout()
        image_plus_button = FlatButton(":/images/plus.svg")
        self.image_trash_button = FlatButton(":/images/trash.svg")
        self.image_trash_button.enabled = False
        image_button_layout.addWidget(image_plus_button)
        image_button_layout.addWidget(self.image_trash_button)
        image_box.addLayout(image_button_layout)
        self.images.addLayout(image_box)
        image_plus_button.clicked.connect(self.addImage)
        self.image_trash_button.clicked.connect(self.dropImage)

        scroll_content = QWidget()
        scroll_content.setLayout(vbox)
        scroll = QScrollArea()
        scroll.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)
        scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)
        scroll.setWidget(scroll_content)
        scroll.setWidgetResizable(True)
        scroll.setMaximumWidth(200)
        scroll.setMinimumWidth(200)

        self.navigationdock = QDockWidget("Navigation", self)
        self.navigationdock.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea)
        self.navigationdock.setWidget(scroll)
        self.navigationdock.setObjectName("Navigation")
        self.addDockWidget(Qt.LeftDockWidgetArea, self.navigationdock)

        self.splitter = QSplitter()
        self.text_edit = MarkdownEdit()
        self.text_edit.setFont(QFont("Courier", 11))
        self.preview = QWebEngineView()
        self.preview.setMinimumWidth(300)
        self.setWindowTitle(QCoreApplication.applicationName())

        self.splitter.addWidget(self.text_edit)
        self.splitter.addWidget(self.preview)
        self.setCentralWidget(self.splitter)

        self.content.expanded.connect(self.contentExpanded)
        self.images.expanded.connect(self.imagesExpanded)
        self.settings.expanded.connect(self.settingsExpanded)
        self.settings.clicked.connect(self.openSettings)
        self.content_list.currentItemChanged.connect(self.partSelectionChanged)
        self.image_list.currentItemChanged.connect(self.imageSelectionChanged)
        self.image_list.itemDoubleClicked.connect(self.insertImage)

        self.text_edit.undoAvailable.connect(self.undoAvailable)
        self.text_edit.redoAvailable.connect(self.redoAvailable)
        self.text_edit.copyAvailable.connect(self.copyAvailable)

        QApplication.clipboard().dataChanged.connect(self.clipboardDataChanged)