• 6536阅读
  • 2回复

[讨论]高手帮忙呀!!QT4 ,form1和form2 来回显示问题 [复制链接]

上一主题 下一主题
离线szrong3000
 
只看楼主 倒序阅读 楼主  发表于: 2011-03-09
— 本帖被 XChinux 执行加亮操作(2011-03-09) —
刚学QT4,问个菜鸟问题
用designer设计两个form1.ui和form2.ui,分别在他们上面放有一个pushbutton1和
pushbutton2。现在需要按form1上的pushbutton1显示form2。显示后去按form2上的
pushbutton2返回到form1. 不知道怎么弄?谁能否给点介绍?
离线XChinux

只看该作者 1楼 发表于: 2011-03-09
void MainWindow::on_pushButton_clicked()
{
    Form *form = new Form();
    form->setAttribute(Qt::WA_DeleteOnClose, true);
    form->show();
}


void Form::on_pushButton_clicked()
{
    QWidgetList wlist = QApplication::allWidgets();
    for (int i = 0; i < wlist.size(); i++)
    {
        QWidget *w = wlist;
        if (w->objectName() == "MainWindow")
        {
            QApplication::setActiveWindow(w);
            break;
        }
    }
}
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线szrong3000
只看该作者 2楼 发表于: 2011-03-10
非常感谢Xchinux!你的方法我算明白了点!基本实现!下面两行代码编译出问题,我绕过了
QWidgetList wlist = QApplication::allWidgets(); -----------1
        QWidget *w = wlist;                    ---------------------------2
==============================================
但我问个问题:(我新的帖子也是这个)
两个不同的ui 在同一个 class中,建构造函数时如何一起建立connect()??
如:   中间的条件1和条件2换成什么才能实现???或者还有一起建立方法?。
Form::Form()    // class Form  ,ui01,ui02为这个类的两个成员。
{
  if(条件一)
   {
      ui01.setupUi(this);       // Ui01
      QObject::connect(ui01.pushButton_1, SIGNAL(clicked()), this, SLOT(showForm02()));
  }
   else if(条件二)
   {
     ui02.setupUi(this);   // Ui02
         QObject::connect(ui02.pushButton_02, SIGNAL(clicked()), this, SLOT(showForm01()));
    }
}
快速回复
限100 字节
 
上一个 下一个