python - 如何在高屏幕的左上角和右上半部分设置框架?
问题描述
我想像这样在高屏幕的左上角和右上半部分设置框架。
我尝试在此代码中进行设置。
web1 = QWebEngineView()
x=web1.width()*0.5
y=web1.height()*0.5
web1.setFixedSize(x,y)
web1.setGeometry(0,0, x, y)
web1.setWindowFlag(Qt.FramelessWindowHint)
web1.load(QUrl("https://www.google.com"))
web1.show()
web2 = QWebEngineView()
x=web2.width()
y=web2.height()
web2.setFixedSize(x,y)
web2.setGeometry(0,0, x, y)
web2.setWindowFlag(Qt.FramelessWindowHint)
web2.load(QUrl("https://www.facebook.com"))
web2.show()
它仍然显示在左上角。如何解决?
解决方案
如果您想相对于另一个(屏幕)放置一个元素(QWebEngineView),那么您必须将两个几何图形作为参考,但您只使用第一个,这就是问题的原因。
解决方案是:
from PyQt5 import QtCore, QtGui, QtWidgets, QtWebEngineWidgets
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
rect_screen = app.primaryScreen().availableGeometry()
web1 = QtWebEngineWidgets.QWebEngineView()
web1.setFixedSize(0.5 * rect_screen.size())
web1.setWindowFlag(QtCore.Qt.FramelessWindowHint)
web1.setGeometry(
QtWidgets.QStyle.alignedRect(
QtCore.Qt.LeftToRight,
QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop,
web1.size(),
rect_screen,
)
)
web1.load(QtCore.QUrl("https://www.google.com"))
web1.show()
web2 = QtWebEngineWidgets.QWebEngineView()
web2.setFixedSize(0.5 * rect_screen.size())
web2.setWindowFlag(QtCore.Qt.FramelessWindowHint)
web2.setGeometry(
QtWidgets.QStyle.alignedRect(
QtCore.Qt.LeftToRight,
QtCore.Qt.AlignRight | QtCore.Qt.AlignTop,
web2.size(),
rect_screen,
)
)
web2.load(QtCore.QUrl("https://www.facebook.com"))
web2.show()
sys.exit(app.exec_())
推荐阅读
- javascript - 从 iframe 发出的消息上的 window.addEventListener
- google-apps-script - 使用 Google Apps 脚本的 Google 表格中的协作者人数上限
- javascript - Ionic 4 和使用材料标签路由器出口
- javascript - 反应返回错误解码器消息消息
- python - 如何防止 Visual Studio Code Python 调试器停止处理异常?
- mysql - MySQL:无法访问 root 或命令提示符
- java - 如何将 org.json JSONObject 映射到 java jpa 实体中的 postgres jsonb 数据类型
- python - 如何创建重复的小部件?
- java - Lombok 对布尔字段与布尔字段的设置器名称的奇怪选择
- python - 使用 Dataframes 的 Spark Overlap 算法