基本上我想使用创建一个窗口QtGui.QWindow()
代替QtWidgets.QMainWindow()
.
我想这样做是因为我想访问QWindow
功能例如:
startSystemMove()
setTitle()
setWindowStates()
startSystemResize()
起初我以为你让窗口类继承QtGui.QWindow
,但如果你这样做,它只会创建一个空窗口。
然而,QWindow
函数确实有效。所以我的猜测是我必须以某种方式输入QMainWindow
(或其中的小部件)到QWindow
,但我不知道如何。
因此存在 XY 问题,因为目标是修改QWindow
与相关的QWidget
但它询问如何嵌入QWidget
into a QWindow
.
QWidget
创建一个QWindow
使用后show()
方法,并且可以使用以下方式访问它windowHandle()
method.
import sys
from PyQt5.QtCore import Qt, QTimer
from PyQt5.QtWidgets import QApplication, QMainWindow
def main():
app = QApplication(sys.argv)
mainwindow = QMainWindow()
mainwindow.show()
window = mainwindow.windowHandle()
window.setTitle("Foo")
def start_resize():
window.startSystemResize(Qt.TopEdge)
def start_move():
window.startSystemMove()
def maximized():
window.setWindowStates(Qt.WindowMaximized)
QTimer.singleShot(5 * 1000, start_resize)
QTimer.singleShot(10 * 1000, start_move)
QTimer.singleShot(15 * 1000, maximized)
sys.exit(app.exec())
if __name__ == "__main__":
main()
Note:的一些方法QWidget
是一个包装器QWindow
方法如setWindowTitle()
or setWindowState()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)