Qt启动另一个窗口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt启动另一个窗口相关的知识,希望对你有一定的参考价值。

在QT中需要点击一个按键就调出另一个窗口,直接在按键的槽中加入
类的对象名->show();程序可以编译通过但是运行时一点击按键就会提示错误然后结束程序,请高手指点是什么原因.

呵呵,多半是因为你的对象这时还没有实例化。

比如

qWidget *a;
a = new QWidget(this);

你多半没有第二句对a进行实例化。
参考技术A 调用exec()函数 参考技术B 把对象声明成指针类型 调用exec()
如果声明的普通对象,那么声明期到函数结束也就完了,就自动被析构了。

在 PySide (Qt) 中打开另一个程序并在原始窗口中显示

【中文标题】在 PySide (Qt) 中打开另一个程序并在原始窗口中显示【英文标题】:Opening another program in PySide (Qt) and displaying inside the original window 【发布时间】:2012-12-22 21:36:58 【问题描述】:

我有一个 PySide 应用程序。我想创建一个小部件,我将在其中显示另一个应用程序(例如 SFML/Irrlicht/Ogre/whatever 游戏,它将是独立的 .exe 而不是 python 脚本),并且该小部件将充当该进程的主窗口。这可能吗?

我不需要与该应用程序进行任何通信,我将通过套接字进行。

【问题讨论】:

【参考方案1】:

到目前为止,最简单的方法是使用 python 的 os.spawn、os.system 或 subprocess 模块来启动第二个进程。它将在独立于您的应用程序的自己的窗口中启动。'

如果你真的想在你的主窗口中嵌入子进程,有几个选项。 查看此问题的答案:Subprocess as QT widget

【讨论】:

但我希望它在我的 PySide 窗口内。 我明白了——我误解了“子窗口”。您能否在问题中进一步澄清一下?这是 MDI 吗? 是的。看看这张随机编辑照片:forum.computerbild.de/attachments/pc-spiele/…。它是 gui 应用程序(由 wx/qt/winapi/类似的东西管理)并且在渲染运行时它具有子窗口 - 它是一个单独的进程。而且我不知道什么是 MDI,但我希望我的问题现在得到澄清。

以上是关于Qt启动另一个窗口的主要内容,如果未能解决你的问题,请参考以下文章

Qt 中 QMainWindow 上的另一个窗口

Python3 Qt5 主窗口

来自另一个类的 Qt 方法调用?

如何在 Qt(或 PyQt)中将一个主窗口调用到另一个主窗口

QT用线程启动定时器

qt中如何实现点击一个窗口的按钮,另一个窗口开始画图? 十万火急