在Qt屏幕中嵌入Navit

2024-09-29 23:25:26 发布

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

当我尝试在中心使用Navit构建自己的GUI时,我现在尝试了几种不同的方法。唯一的工作方式似乎是Qt,但我在使用它时仍然有问题

下面的代码可以启动Navit和我的主窗口,但它们彼此独立。我不知道如何更改self.navit窗口的大小以及如何更改位置。最后我想删除要删除的窗口框架,但此标志是第二步

也许有人能看出我做错了什么。我只想在我的主窗口中使用navit,就像在前景中使用navit窗口作为父窗口一样

import sys
import os
from PyQt5 import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class embedNavit(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        self.process = QProcess(self)
        self.setGeometry(100,100,1024,768)
        win = QWidget() 
        winId = int(win.winId())
        sub_win = QWindow.fromWinId(winId)
        self.navit = QWidget.createWindowContainer(sub_win)
        winId = self.navit.winId()
        os.putenv('NAVIT_XID',str(winId))
        #layout = QVBoxLayout(self)
        #self.addWidget(self.navit)
        self.process.start('navit')
        #self.navit.setGeometry(0,0,1024,768)
        #self.b = QtGui.QPushButton("exit", self, clicked=self.close)
        #layout.addWidget(self.navit)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    main = embedNavit()
    main.show()
    sys.exit(app.exec_())
   

这个简短的代码显示了我的实际步骤


Tags: 代码fromimportselfosmainsyswin

热门问题