当前位置:编程学习 > wap >>

QT界面切换问题!!!!

是这样的,我用designer做了两个界面form1.ui和form2.ui,都是UI文件,form1里有一个按扭,想实现点击form1里的按扭可以跳转到form2界面,不知如何实现???
我几乎搜了所有关于这方面的问题,也知道大概思想,但就是不会具体应用,我是新手,不是太明白,希望能解答的细点,先谢了,下面是我的.h  .cpp 和 main.cpp文件,写的很乱,希望高手解答一下!!!!
我的.h文件:
#ifndef WIDGET_H
#define WIDGET_H

#include <qvariant.h>
#include <qwidget.h>

#include "form1.h"
#include "form2.h"

class QVBoxLayout;
class QHBoxLayout;
class QGridLayout;
class QPushButton;

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget( QWidget* parent = 0);
    ~Widget();

public slots:
       void setform2();
    
};

#endif // Widget_H
我的.cpp文件
#include "widget.h"
#include "form2.h"
#include "form1.h"

Widget::Widget(QWidget *parent)
      : QWidget(parent)
{

     QWidget *w = new QWidget(this);
     
     setGeometry(10,10,300,300);
    
     connect(form1.form1->setform2,SIGNAL(clicked()),this,SLOT(setform2()));
}

void Widget::setform2()
{
   QWidget *wid = new QWidget;
   this->hide();
   Form2.form2->show();
}
我的main.cpp文件:
#include "widget.h"
#include <qapplication.h>

int main(int argc,char * argv[])
{
    QApplication a(argc,argv);
    Widget ww;
    a.setMainWidget(&ww);
    ww.show();
    return a.exec();
}
我想应该是.h写的不对,最主要的是我不知道如何在程序中正确声明UI文件,可以让程序使用UI界面,是一个简单的例子,希望能给解答,谢谢~~ --------------------编程问答-------------------- 哦,对了,忘说了,我用的是QT2!!!! --------------------编程问答-------------------- 假设你用designer设计了一个ui, 你打算用它,可以这样用:
   #include<QUiLoader >

   QUiLoader loader;
     QFile uiFile("my.ui");
     uiFile.open(QIODevice::ReadOnly);
     QWidget *ui = loader.load(&uiFile);
     uiFile.close();

     ui->show();
     return app.exec(); --------------------编程问答-------------------- 楼主是VB转过来的? --------------------编程问答-------------------- connect(form1.form1->setform2,SIGNAL(clicked()),this,SLOT(setform2()));
这句中的form1.form1->setform2是什么意思。

另外为什么不用Qt4. --------------------编程问答--------------------
引用 1 楼 mmofan 的回复:
哦,对了,忘说了,我用的是QT2!!!!


由于Qt2.x对于界面切换类提供的较少。

Qt2.x 没有wizard。

只有自己造轮子。。。你能使用的 也就是 hide 和show.

--------------------编程问答-------------------- 不知道LZ的问题解决了没有
给你点提示:
在button在槽内先this->hide()[这里只是隐藏了没有退出];然后第二个窗口类->show(); --------------------编程问答-------------------- 我刚好完成你说的功能,可以从一个界面打开另一个界面,我把文件上传了,可以下载看看。 --------------------编程问答--------------------
引用 1 楼 mmofan 的回复:
哦,对了,忘说了,我用的是QT2!!!!

QT2???劝你赶快改用QT4吧。 --------------------编程问答--------------------
引用 7 楼 xhao014 的回复:
我刚好完成你说的功能,可以从一个界面打开另一个界面,我把文件上传了,可以下载看看。


请问文件在哪,能看下吗,谢谢 --------------------编程问答-------------------- 这个简单,只要写一个槽函数,信号可以是按钮或事件,在槽函数里边直接show就行了 --------------------编程问答-------------------- why dont you use a old version ,you are fuckly 2. --------------------编程问答-------------------- 我用的是高版本的,不太懂,支持一下吧。。。 --------------------编程问答-------------------- 楼主 解决没啊 我同问啊 我也不会 求帮助! --------------------编程问答-------------------- 研究这个没太大的意义吧?另辟蹊径吧。 --------------------编程问答-------------------- 楼主解决问题没有?同问。 --------------------编程问答-------------------- 请问文件在哪,能看下吗,谢谢! --------------------编程问答-------------------- 可以使用stacked widget,点击的时候切换到对应index的组件 --------------------编程问答-------------------- 楼主的代码,new后没有主动delete,会造成内存泄漏把 --------------------编程问答-------------------- It's so easy!
可以去看看:
Qt之界面切换(360、新浪、人人界面,多语化切换随心所欲) 
http://blog.csdn.net/u011012932/article/details/9275005
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,