• 11661阅读
  • 27回复

[提问]SLOT(hide())后的窗口如何再显示?(已经解决) [复制链接]

上一主题 下一主题
离线herrome
 
只看楼主 倒序阅读 楼主  发表于: 2011-08-08
我的想法是:点击主界面上的一个按键,弹出一个新的DIALOG,同时隐藏主界面。。可是...隐藏后的主界面如何再次显示出来?
PS:我的主界面是一个Dialog
离线wxj120bw

只看该作者 1楼 发表于: 2011-08-08
回 楼主(herrome) 的帖子
隐藏的主界面 再调出来不就行了吗
离线roywillow

只看该作者 2楼 发表于: 2011-08-08
hide()对应的难道不是show()么
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线herrome
只看该作者 3楼 发表于: 2011-08-09
回 1楼(wxj120bw) 的帖子
这就问怎么调出来....
离线herrome
只看该作者 4楼 发表于: 2011-08-09
回 2楼(roywillow) 的帖子
是show没错,不过我不知道怎么用,我的功能代码都是写在各个类里面的,而主界面的对象是再main.cpp里定义的...
离线ppdayz

只看该作者 5楼 发表于: 2011-08-09
回 4楼(herrome) 的帖子
代码方便贴出来看下么?不知道你的设计思路
离线herrome
只看该作者 6楼 发表于: 2011-08-09

这是我工程里的文件,其中main.cpp:
#include <QtGui/QApplication>
#include <QTextCodec>
#include <QFont>
#include <QString>
#include <QTranslator>
#include "maingui.h"
#include "codeeditgui.h"
int main(int argc, char *argv[])
{
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
    QApplication a(argc, argv);
    Maingui w;
    w.showFullScreen();

    return a.exec();
}

主界面是Maingui(Dialog class),我的想法是点击主界面上的某个按键,弹出一个子界面codeeditgui(Mainwindow class),同时隐藏主界面,。
现在的问题是如何把已经隐藏了的主界面再调出来
离线dbzhang800

只看该作者 7楼 发表于: 2011-08-09
既然要操作主界面,你就需要主界面对象的指针,至于该指针你准备存在什么地方,就是你自己的选择了。
离线wxj120bw

只看该作者 8楼 发表于: 2011-08-09
回 3楼(herrome) 的帖子
子界面应该有相应的操作调出隐藏的主界面 利用这个操作通过信号和槽连接主界面,调用show函数
离线herrome
只看该作者 9楼 发表于: 2011-08-09
回 8楼(wxj120bw) 的帖子
表面上是解决了,我在子界面类里定义里这样一个槽
void CodeeditGUI::PB_Exit_clicked()
{
    Maingui *w = new Maingui;
    w->show();
}
不过这个主界面还是原来的那个马
离线dbzhang800

只看该作者 10楼 发表于: 2011-08-09
Re:回 8楼(wxj120bw) 的帖子
引用第9楼herrome于2011-08-09 13:31发表的 回 8楼(wxj120bw) 的帖子 :
表面上是解决了,我在子界面类里定义里这样一个槽
void CodeeditGUI::PB_Exit_clicked()
{
    Maingui *w = new Maingui;
    w->show();
.......

显然不是,

另外:记住一点,每一个new都需要有一个对应delete。
离线wxj120bw

只看该作者 11楼 发表于: 2011-08-09
回 9楼(herrome) 的帖子
新建子界面时,将主界面对象传给子界面,如 new MyDialog(mainDlg) //mainDlg是主界面指针对象
这样在子界面就可以操作主界面对象了。
离线roywillow

只看该作者 12楼 发表于: 2011-08-09
看样子你是在主窗口中调用一个弹出窗口
那么就在主窗口中把弹出窗口关闭时发出的信号(我记得好像是reject和accept)跟this的show槽直接连接,这样应该就ok了吧,不要想得太复杂

另外上面给出的那个代码既没有指定parent也没有delete……并且这个窗口跟原来隐藏的显然不是一个东西
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线herrome
只看该作者 13楼 发表于: 2011-08-09
回 12楼(roywillow) 的帖子
accept的话Mainwindow class好像没有吧,
离线roywillow

只看该作者 14楼 发表于: 2011-08-09
那个信号是QDialog的
你不是想在弹出窗口关闭的时候弹出主窗口么
那么就把弹出窗口关闭时发出的消息跟主窗口重新显示的槽关联应该就ok了吧
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线herrome
只看该作者 15楼 发表于: 2011-08-09
回 10楼(dbzhang800) 的帖子
每一个new都需要有一个对应delete
这话怎么解释?子界面关闭的时候不能自动delete马
离线herrome
只看该作者 16楼 发表于: 2011-08-09
回 11楼(wxj120bw) 的帖子
能否说的具体一点?
我的主界面对象是在main.cpp里声明的阿,其他地发怎么用?
离线abcdlcq

只看该作者 17楼 发表于: 2011-08-09
子界面的parent是谁?
离线dbzhang800

只看该作者 18楼 发表于: 2011-08-09
Re:回 11楼(wxj120bw) 的帖子
引用第16楼herrome于2011-08-09 16:05发表的 回 11楼(wxj120bw) 的帖子 :
能否说的具体一点?
我的主界面对象是在main.cpp里声明的阿,其他地发怎么用?


磨刀不误砍柴工。建议先抽出几周时间,稍微补一点C++ 的基础知识,然后再入手Qt。
离线jdwx

只看该作者 19楼 发表于: 2011-08-09
这个简单,子窗口用QDialog,
void mainwindow::XXXX()
{
hide();
QDialog   dlg;
dlg.exec();
show();
}
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线herrome
只看该作者 20楼 发表于: 2011-08-09
回 14楼(roywillow) 的帖子
我的子窗口用的是Mainwindow class,因为要涉及文件编辑功能,没办法
离线herrome
只看该作者 21楼 发表于: 2011-08-09
回 17楼(abcdlcq) 的帖子
no parent
离线roywillow

只看该作者 22楼 发表于: 2011-08-09
回 20楼(herrome) 的帖子
那就重载closeEvent,在event里自己emit一个信号……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线herrome
只看该作者 23楼 发表于: 2011-08-09
回 19楼(jdwx) 的帖子
哦也,我子窗口用的是mainwindow
离线jdwx

只看该作者 24楼 发表于: 2011-08-09
回 23楼(herrome) 的帖子
XXXXXX()
{
QMainWindow child=new QMainWindow(this);
hide();
child.show();
}
child:
closeevent()
{
parentWidget()->show();
}
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线abcdlcq

只看该作者 25楼 发表于: 2011-08-10
回 15楼(herrome) 的帖子
deleteLater ()
离线herrome
只看该作者 26楼 发表于: 2011-08-11
回 24楼(jdwx) 的帖子
太给力了   谢谢
离线shendu

只看该作者 27楼 发表于: 2020-04-06
支持,顶!

内容来自[手机版]
快速回复
限100 字节
 
上一个 下一个