初学者,提问之前也搜了类似的帖子,不过
没有确切的结果,请指点。
我想完成的功能类似于:3个
窗口,MAIN, profile, config,从main点一个pushbotton跳转到profile,从profile中点击一个pushbotton跳转到config,在config中点击一个
按钮跳转到main。(实际上不止这些窗口和按钮,但原理就是这样)
我的做法是:在main类中,有两个private成员指针,在MainWindow的构造函数中给它们分配空间,并且把this指针传给他们做parent,
然后在对应MAIN窗口按钮点击signal的slot中,使用
void MainWindow::on_pushButton_profile_clicked()
{
this->hide();
profile->show();
profile->exec();
this->show();
}
然后可以顺利跳转。
我碰到的
问题是:不知道如何从profile跳转到config,其实就是不知道如何在profile类中访问config,他们都是MainWindow的子窗口,我本来想在profile类的跳转到config的按键的处理函数中先找到parent,再用parent访问config,类似
// in profile.cpp
...
void Profile::on_pushButton_config_clicked( )
{
this->close(); // 这里应该是hide还是close?
this->parent->config->show(); // fake code
this->parent->config->exec(); // fake code
}
这里对parent的用法是
错误的,我这里不知道如何写,所以用这样的代码来表达我的意图。
请大家指点。
另外我是初学,如果哪位有类似的
界面跳转的简单例程,方便的话请发给我做个参考。
我的qq: 9644089
邮箱:
9644089@qq.com谢谢
它们关系如下:
// in mainwindow.h
...
class MainWindow : public QMainWindow
{
...
private:
Ui::MainWindow *ui;
Profile *profile;
Config *config;
};
// in MainWindow.cpp
// in MainWindow's constructor
...
profile = new Profile(this);
config = new Config(this);