QT实现子窗口嵌入主窗口

shuaiAWP 2014-08-15 04:19:22
网上说的比较好的,就这个了

1、在当前工程新建一个窗口,继承自QDialog或者QWidget均可。

2、新建该窗口:f2 = new Form2(this);

3、在新窗口的构造函数中加上这句话:setWindowFlags(Qt::CustomizeWindowHint|Qt::FramelessWindowHint);hide();

另可以使用move移到合适位置。此位置相对于父窗口而言,而非桌面或者其他窗口。

4、在父窗口中调用该子窗口的show()即可。

但之后,你会发现你的子窗口还是独立的,并且获得了焦点等等。

其实这时需要子窗口部件的构造函数里添加:this->setParent(parent); ,这样就可以实现嵌入了

上面的方法子窗口不能随主窗口移动。
...全文
6977 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
未狂 2014-08-18
  • 打赏
  • 举报
回复
子窗口放到父窗口,直接在子窗口初始化的时候就设定好不就行了 QWidget *win=new QWidget (); QDialog *dia=new QDialog(win);
shuaiAWP 2014-08-18
  • 打赏
  • 举报
回复
到底上面情况呢
shuaiAWP 2014-08-16
  • 打赏
  • 举报
回复
怎么没有人回答

16,818

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧