• 5764阅读
  • 4回复

关于QDialog全屏的一个奇怪的现象,为什么? [复制链接]

上一主题 下一主题
离线iiiyyyhhhsss
 

只看楼主 倒序阅读 楼主  发表于: 2009-09-20
下面两个简单代码,第一个运行后,dialog占全屏了;第二个我建立了一个信号槽,点击button按道理会使dialog全屏,为什么却没有反应呢?
---------main.cpp----------------
#include <QtGui>
int main(int argc,char *argv[])
{
    QApplication app(argc,argv);

    QDialog *dialog=new QDialog(0);
    QPushButton *button=new QPushButton(dialog);
    dialog->showFullScreen();
    return app.exec();
}
--------------------main.cpp--------------------------------------
#include <QtGui>
int main(int argc,char *argv[])
{
    QApplication app(argc,argv);
    QDialog *dialog=new QDialog(0);
    QPushButton *button=new QPushButton(dialog);
    QObject::connect(button,SIGNAL(clicked()),dialog,SLOT(showFullScreen()));
    dialog->show();
    return app.exec();
}
--------------------------------
[ 此帖被iiiyyyhhhsss在2009-09-20 12:27重新编辑 ]
离线rqzrqh

只看该作者 1楼 发表于: 2009-09-20
怎么试都不可以
离线iiiyyyhhhsss

只看该作者 2楼 发表于: 2009-09-20
什么原因呢?
离线rqzrqh

只看该作者 3楼 发表于: 2009-09-20
关注中
离线iiiyyyhhhsss

只看该作者 4楼 发表于: 2009-09-20
找到了一个解决方法:
#include <QtGui>
int main(int argc,char *argv[])
{
    QApplication app(argc,argv);
    QDialog *dialog=new QDialog(0);
    QPushButton *button=new QPushButton(dialog);
    dialog->setWindowFlags(Qt::SubWindow);  
    QObject::connect(button,SIGNAL(clicked()),dialog,SLOT(showFullScreen()));
    dialog->show();
    return app.exec();
}

网上有的说顶极窗口不能全屏,要还原为子窗口

但是,为什么第一个代码不用还原为子窗口都能全屏呢?
[ 此帖被iiiyyyhhhsss在2009-09-20 14:14重新编辑 ]
快速回复
限100 字节
 
上一个 下一个