• 5540阅读
  • 6回复

[急]窗体激活后与子窗体的位置控制 [复制链接]

上一主题 下一主题
离线dancindream
 

只看楼主 正序阅读 楼主  发表于: 2009-12-21
我的程序里建了两个继承QMainWindow的窗体

然后一个是父一个是子

父的窗体先创建
然后由父创建子窗体

这个WindowFlags要怎么设置
才能让两个窗体
谁激活,谁在最前面
而且两个窗体都不能是置顶,就是如果我切到其他程序,如IE,这两窗体不能在IE上面

我现在设置的是Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint
第一个可以实现非置顶
第二个可以实现最大最小化

但是就是无法实现谁激活谁在前面的效果
各位高人帮帮忙~~~
离线dancindream

只看该作者 6楼 发表于: 2009-12-22
这么做有点不合适把
就算可以这么做
我就要把m_NewWindow的所有事件都绑定到this的函数里
而且像clicked这样的是Widget自己的事件非常的多
我在NewWindow里实现的事件也非常的多~
离线yangfanxing
只看该作者 5楼 发表于: 2009-12-22
XXXX m_NewWindow = new XXXX(0);
紧接这句之后~
connect(m_NewWindow, clicked(),
                this, function());
类似这样的~我好像弄过相关的~可以~
PHPWind好恶心。。。不想看这种界面。。。
离线dancindream

只看该作者 4楼 发表于: 2009-12-22
可以的话,能举例说明一下不~~~

XXXX m_NewWindow = new XXXX(0);

然后怎么让这个m_NewWindow 也能响应事件呢???
离线yangfanxing
只看该作者 3楼 发表于: 2009-12-22
引用第2楼dancindream于2009-12-21 23:52发表的  :
无用~~~
哎~~~
new XXXX(this)
子窗体会响应事件,但是不能让窗体随当前激活状态而变化前后位置
.......


这个可以响应吧~只要sender和receive匹配对了就成。
PHPWind好恶心。。。不想看这种界面。。。
离线dancindream

只看该作者 2楼 发表于: 2009-12-21
无用~~~
哎~~~

new XXXX(this)
子窗体会响应事件,但是不能让窗体随当前激活状态而变化前后位置
new XXXX(0)
不用父子形式要怎么样才能让NEW出来的窗体拥有消息循环来响应事件呢?
还有怎么才能让它们共用一个状态栏,就是看起来像是一个~
离线yangfanxing
只看该作者 1楼 发表于: 2009-12-21
子窗口默认就是覆盖住父窗口;LZ可以搜搜我的帖子,问了许多天也没有人回答。

解决的方法是不用父子的形式。。。呵呵。。。

另外可以试试setWindowFlags(Qt::Draw)看看能不能满足你的要求~~~
PHPWind好恶心。。。不想看这种界面。。。
快速回复
限100 字节
 
上一个 下一个