【发布时间】:2021-07-18 07:52:27
【问题描述】:
web_browser.py
# -*- 编码:utf-8 -*-
# 通过读取 ui 文件 'web_browser.ui' 生成表单实现
#
# 创建者:PyQt5 UI 代码生成器 5.15.2
#
# 警告:当 pyuic5 被安装时,对该文件所做的任何手动更改都将丢失
# 再次运行。除非您知道自己在做什么,否则不要编辑此文件。
从 PyQt5 导入 QtCore、QtGui、QtWidgets
类 Ui_MainWindow(对象):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(779, 257)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setSpacing(0)
self.verticalLayout.setObjectName("verticalLayout")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
如果 __name__ == "__main__":
导入系统
应用程序 = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(主窗口)
MainWindow.show()
sys.exit(app.exec_())
web_browser_main.py
从 web_browser 导入 *
从 PyQt5 导入 QtCore、QtGui、QtWidgets
从 PyQt5.QtCore 导入 QUrl
从 PyQt5.QtWebKitWidgets 导入 QWebView , QWebPage
导入系统
类测试浏览器代码:
def __init__(self):
self.app = QtWidgets.QApplication(sys.argv)
self.mainWindow = QtWidgets.QMainWindow()
self.main_ui = Ui_MainWindow()
self.main_ui.setupUi(self.mainWindow)
self.mainWindow.showMaximized()
self.open_google()
sys.exit(self.app.exec_())
def open_google(自我):
self.google_url = 'http://www.google.com'
self.main_ui.chat_browser = QWebView()
self.main_ui.chat_page = QWebPage()
self.main_ui.chat_browser.setPage(self.main_ui.chat_page)
self.main_ui.chat_browser.setUrl(QUrl(self.google_url))
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
self.main_ui.chat_browser.setMinimumSize(QtCore.QSize(0, 398))
self.main_ui.chat_browser.setMaximumSize(QtCore.QSize(16777215, 398))
self.main_ui.chat_browser.setSizePolicy(sizePolicy)
self.main_ui.chat_browser.setStyleSheet("背景色:白色;边框:1px 纯色#dadada;")
self.main_ui.verticalLayout.addWidget(self.main_ui.chat_browser)
self.main_ui.chat_browser.show()
程序 = TestBrowserCode()
- 从源代码运行:
Χρήστος@Chris-pc MINGW64 /c/python/scripts/Papinhio player/notes $ python web_browser_main.py
(网站显示正确)
- 制作 .exe 文件 (full result here)
Traceback(最近一次调用最后一次):
文件“C:/Python/Scripts/Papinhio player/notes/web_browser_main.py”,第 4 行,在
从 PyQt5.QtWebKitWidgets 导入 QWebView , QWebPage
_find_and_load 中的文件“”,第 991 行
文件“”,第 975 行,在 _find_and_load_unlocked
文件“”,第 657 行,在 _load_unlocked
文件“”,第 556 行,在 module_from_spec
文件“”,第 1101 行,在 create_module
_call_with_frames_removed 中的文件“”,第 219 行
_find_and_load 中的文件“”,第 991 行
文件“”,第 973 行,在 _find_and_load_unlocked
ModuleNotFoundError:没有名为“PyQt5.QtWebKit”的模块
[17208] 无法执行脚本 web_browser_main
结果错误导入PyQt5.QtWebKitWidgets
msys2 mingw64 控制台中的所有内容。 如何编译以上文件?
【问题讨论】:
标签: python pyinstaller mingw-w64 qtwebkit msys