From 5ee7f99615f554d40f8ccd0098282554c0f44058 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=83=9C?= Date: Sun, 20 Jun 2021 21:35:57 -0700 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=9C=A8=E5=85=B0=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E8=B0=83=E7=94=A8=20QtWebkit=20=E5=AE=9E=E7=8E=B0=E7=9A=84?= =?UTF-8?q?=E7=AE=80=E6=98=93=E7=BD=91=E9=A1=B5=E6=B5=8F=E8=A7=88=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\344\270\255.ul" | 85 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 "\344\270\255.ul" diff --git "a/\344\270\255.ul" "b/\344\270\255.ul" new file mode 100644 index 0000000..7bd08d6 --- /dev/null +++ "b/\344\270\255.ul" @@ -0,0 +1,85 @@ +using * in PyQt5.QtCore +using * in PyQt5.QtWidgets +using QWebEngineView in PyQt5.QtWebEngineWidgets +using sys + +/* +木兰语言重现项目: https://gitee.com/MulanRevive/mulan-rework +pypi 安装: pip install ulang +运行: +$ 木兰 中.ul +*/ +type 演示 : QMainWindow { + func $演示() { + super() + $setAttribute(Qt.WA_DeleteOnClose) + $页面 = QWidget() + $地址栏 = "" + $页面视图 = $界面($页面) + $setCentralWidget($页面) + $showMaximized() + } + + func $界面(页面) { + $tabWidget = QTabWidget() + + 地址栏 = QLineEdit() + 地址栏.returnPressed.connect($requestUri) + + 布局 = QGridLayout() + + 布局.setContentsMargins(0,0,0,0) + + 导航框 = QWidget() + 导航框.setMaximumHeight(32) + + 导航区 = QGridLayout(导航框) + 导航区.setSpacing(0) + 导航区.setContentsMargins(0,0,0,0) + 导航区.addWidget(地址栏, 0, 4) + + 布局.addWidget(导航框) + + 视图 = QWebEngineView() + 空白 = ""; + 视图.setHtml(空白) + + 框架 = QFrame() + 框架.setFrameStyle(QFrame.Panel) + + 网格布局 = QGridLayout(框架); + 网格布局.setContentsMargins(0, 0, 0, 0); + 网格布局.addWidget(视图, 0, 0, 1, 1); + 框架.setLayout(网格布局) + + $tabWidget.setCurrentWidget(视图) + $地址栏 = 地址栏 + 布局.addWidget(框架) + 页面.setLayout(布局) + return 视图 + } + + // 不确定是否为重载时,不修改接口名 + func $requestUri { + 地址文本 = $地址栏.text() + // 仅有域名时,默认 https + $地址栏.setText('https://' + 地址文本) if 地址文本.find('http') == -1 + + 地址 = QUrl($地址栏.text()) + + if 地址.isValid() { + $页面视图.load(地址) + } else { + print("无效地址") + } + } +} + +func main { + app = QApplication(sys.argv) + ex = 演示() + ex.show() + sys.exit(app.exec_()) +} + +main() if __name__ == '__main__'