• 5492阅读
  • 5回复

关于非模式对话框~ [复制链接]

上一主题 下一主题
离线feixiangxtu
 

只看楼主 倒序阅读 楼主  发表于: 2010-12-08
各位:
请问下面的代码是打开一个非模式对话框,为什么打开时可以显示非模式对话框上的按钮控件,但是没有显示非模式对话框的窗体?

是不是我打开非模式对话框有误?请大家给出意见,谢谢!

connect(menuBT, SIGNAL(clicked()), this, SLOT(OnBnClickedBtMenu()));

void MainWin::OnBnClickedBtMenu()
{
    MainMenu *mainMenu = new MainMenu(this);
    mainMenu->setWindowModality(Qt::NonModal);
    mainMenu->show();
}

非模式对话框类的构造函数中设置:
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
QPushButton *bt = new QPushButton(tr("Setting"), this);
bt->setGeometry(0,0,180,200);
connect(bt, SIGNAL(clicked()), this, SLOT(exitMainMenu()));
离线dbzhang800

只看该作者 1楼 发表于: 2010-12-08
引用楼主feixiangxtu于2010-12-08 16:23发表的 关于非模式对话框~ :
各位:
请问下面的代码是打开一个非模式对话框,为什么打开时可以显示非模式对话框上的按钮控件,但是没有显示非模式对话框的窗体?
是不是我打开非模式对话框有误?请大家给出意见,谢谢!
.......

先不管模态还是非模态对话框,

我想确认一下问题的前提:你这儿用的是不是对话框(QDialog)
离线feixiangxtu

只看该作者 2楼 发表于: 2010-12-08
当然是的!
离线feixiangxtu

只看该作者 3楼 发表于: 2010-12-08
class MainMenu : public QDialog
离线dbzhang800

只看该作者 4楼 发表于: 2010-12-08
引用第3楼feixiangxtu于2010-12-08 16:40发表的  :
class MainMenu : public QDialog


1. 这条语句你不贴,别人是几乎猜不出来的。

2. 你已经清空了QDialog 预置的 flags
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
离线feixiangxtu

只看该作者 5楼 发表于: 2010-12-08
谢谢,楼上的!
我加了这个
setWindowFlags(Qt::Dialog | Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint);
解决了!
快速回复
限100 字节
 
上一个 下一个