用python编写一个程序,要求如下: 1、用pyqt5建立一个窗口,窗口里包含:1个标签、一个按钮 2、点击按钮弹出子窗口并在子窗口里加载H5网页
时间: 2024-09-27 16:17:06 浏览: 38
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
在Python中,我们可以使用PyQt5库创建GUI应用程序,并集成QWebEngineView组件来显示HTML内容。下面是一个简单的示例,展示如何实现这个功能:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QPushButton, QWidget, QVBoxLayout, QWebEngineView, QMessageBox
from PyQt5.QtCore import Qt
class MainWidget(QMainWindow):
def __init__(self):
super(MainWidget, self).__init__()
# 设置窗口的基本属性
self.setWindowTitle("PyQt5 Web Viewer")
self.setGeometry(100, 100, 400, 300)
# 创建布局
layout = QVBoxLayout()
self.setLayout(layout)
# 添加标签
label = QLabel("点击按钮打开子窗口", self)
layout.addWidget(label)
# 添加按钮
button = QPushButton("打开子窗口", self)
button.clicked.connect(self.open_subwindow) # 绑定点击事件
layout.addWidget(button)
def open_subwindow(self):
sub_window = SubWindow(parent=self) # 子窗口
sub_window.show()
class SubWindow(QWidget):
def __init__(self, parent=None):
super(SubWindow, self).__init__(parent=parent)
self.setWindowTitle("子窗口 - H5加载")
# 创建并设置QWebEngineView
web_view = QWebEngineView(self)
url = "http://example.com" # 你可以替换为你需要的H5页面地址
web_view.setUrl(QUrl(url))
# 布局并将web_view添加进去
layout = QVBoxLayout()
layout.addWidget(web_view)
self.setLayout(layout)
if __name__ == "__main__":
app = QApplication(sys.argv)
main_widget = MainWidget()
main_widget.show()
sys.exit(app.exec_())
```
在这个例子中,我们首先创建了一个主窗口,其中包含一个标签和一个按钮。当用户点击按钮时,会触发`open_subwindow`方法,此时会创建一个新的子窗口,并在其内部加载一个H5网页。
阅读全文