首页| 论坛| 消息

标题:【提问】请教一下,closeevent为什么只触发一次,以后再次点击右上角X,不再触发了?
作者:eckel
日期:2005-10-13 18:42
内容:

void my_Qscrollview::closeEvent(QCloseEvent *e)
{
QPoint p;

m_flowFlag = false;
reparent(m_parent, 0, p, true);
}
代码如上,my_Qscrollview继承自Qscrollview存在于一个widget当中,我用my_Qscrollview实现这个view的浮动功能,当浮动以后,现在点击右上角的X按钮让他回到widget当中去,第一次操作正常,以后再也不响应此事件,哪位知道原因吗,请不吝赐教。谢谢


#1 谁知道如何使用将widget右上角的“X” button去掉? [eckel 10-13 18:43]
谁知道如何使用将widget右上角的“X” button去掉?
谢谢。
#2 [myer 10-14 08:08]
to 一楼:问题能否具体些?什么第一次操作正常等等。。。
to 二楼:see about Qt::WFlags。
#3 [eckel 10-14 14:46]
void my_Qscrollview::closeEvent(QCloseEvent *e)
{
QPoint p;
m_flowFlag = false;
reparent(m_parent, 0, p, true);
}
void EMULATOR_view::mouseDoubleClickEvent(QMouseEvent *)
{
QPoint p;
m_flowFlag = true;
reparent(NULL, 0, p, true);
MDEBUG_INFO("mouseDoubleClickEvent, m_zoomScale:%f", m_zoomScale);
}

谢谢斑竹的解答。我想用Doubleclick事件实现窗口的浮动效果,用closeEvent实现关闭窗口的浮动,使之恢复唯一个嵌入式窗口。 现在遇到的问题是,第一次双击,窗口浮动起来,点击右上角X button,窗口恢复为嵌入式窗口,第二次双击,窗口浮动,再点击右上角X button,窗口无任何响应,用DDD跟进去发现,第二次根本没有进去 closeevent事件。请问这是什么原因呢,谢谢不吝赐教。
#4 [eckel 10-14 15:14]
to 三楼,把 Qt::WFlags都仔仔细细看了一遍,怎么就没看见哪个值是隐藏到X button的。:(
#5 [myer 10-14 17:10]
你应该用的是3系列版本,不过关系应该不大,至少你应该说明。
点击x button,我想是不可能恢复为嵌入窗口的,而是直接关闭。
reparent本身是没问题的,但是点击关闭自然关闭了。
隐藏x button,参考Qt::SubWindow或类似的,至少Qt::SubWindow是可以的。

<< 1 2 >> (1/2)

回复 发表
主题 版块