如何在高屏的左上半部分和右上半部分设置边框?

2024-05-03 18:33:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我想像这样在高屏的左上半部分和右上半部分设置画面

enter image description here

我试着在这个代码中设置

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()

它仍然显示在左上角。如何修复它


Tags: httpscomwwwloadqtwidthheightweb2
1条回答
网友
1楼 · 发布于 2024-05-03 18:33:33

如果要相对于另一个元素(屏幕)放置一个元素(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_())

相关问题 更多 >