• 5319阅读
  • 6回复

子窗口直接被灰化的问题(已解决) [复制链接]

上一主题 下一主题
离线robin7513
 
只看楼主 倒序阅读 楼主  发表于: 2009-10-30
请教个位一个奇怪的问题

我在点主窗口按钮后创建了一个子窗口,

void MainWindow::on_mainButton_clicked()
{
    ChildWindow  *childThis = new ChildWindow ;

    childThis->setupUi(childThis);

    //childThis->setParent(this);//加上这句后子窗口会合并到主窗口上

    childThis->show();
}

但是发现子窗口显示后立即被灰化无法进行任何操作,焦点回到主窗口.等主窗口关闭后才能操作.

不知道是什么原因???
[ 此帖被robin7513在2009-11-02 13:36重新编辑 ]
离线hiti_tony
只看该作者 1楼 发表于: 2009-10-30
不知道你要实现什么?
离线robin7513
只看该作者 2楼 发表于: 2009-11-01
目的很简单,就是希望点击主窗口按钮后,能创建一个子窗口,然后显示出来。可是现在只要点击按钮,子窗口就会和主窗口合在一起。
离线jorneyr

只看该作者 3楼 发表于: 2009-11-01
void MainWindow::on_mainButton_clicked()
{
    ChildWindow  *childThis = new ChildWindow ;

    childThis->setupUi(childThis);

    childThis->setParent(this);//加上这句后子窗口会合并到主窗口上
    childThis->setWindowFlags(Qt::Dialog);// 设置窗口的类型就可以了

    childThis->show();
}
离线robin7513
只看该作者 4楼 发表于: 2009-11-01
谢谢楼上的指导。

又学到一些东西。不过问题仍然存在。

因为子窗口是Widget类。我也试着把 flag 改为了Widget,但是还是老样子:子窗口看不到窗体,上面的按钮都合并到了父窗口上。
离线robin7513
只看该作者 5楼 发表于: 2009-11-01
奇怪的是。我一共有三个按钮

前两个的子窗口都能顺利显示,就是第三个子窗口出了问题。而且我试着建了第四个子窗口,结果还是被合并了。

比较了第二个成功的子窗口创建的代码和第三个、第四个的代码,是一样的。

实在是没有什么头绪。
离线robin7513
只看该作者 6楼 发表于: 2009-11-01
问题终于解决了。

使用的是楼上的大侠的方法

利用setWindowFlags(Qt::Window );

谢谢大家的支持!!
快速回复
限100 字节
 
上一个 下一个