• 9674阅读
  • 4回复

关于stackedWidget的问题,高手救救我啊~已解决 [复制链接]

上一主题 下一主题
离线fightdk
 
只看楼主 倒序阅读 楼主  发表于: 2010-04-24
我是一个QT初学者,先用designer做了几个页面,然后想用stackedWidget->setCurrentIndex(X);通过控制X要切换页面,但是编译通过却怎么也实现不了
后面直接做了个2个页面的stackedWidget,然后用直接在mainwindow.cpp里写 stackedWidget->setCurrentIndex(0); 但是发现setCurrentIndex(0)括号里无论是0还是1都改变不了stackedWidget显示的页面,永远都是第二个。
然后尝试用QTcreator做了个相同的东西,stackedWidget->setCurrentIndex(0); 就能切换到第一个页面去,求助高手大虾救救我吧,我试了好久也没结果~

不起作用的那个代码是最基本的main.cpp mainwindow.h 和mainwindow.cpp
main.cpp

#include <QApplication>
#include <QMainWindow>
#include "ui_test.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Ui::MainWindow ui;
    QMainWindow *dialog=new QMainWindow;
    ui.setupUi(dialog);
    dialog->show();
    return app.exec();
}



mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "ui_test.h"

class MainWindow : public QMainWindow,public Ui::MainWindow
{
     Q_OBJECT

public:
     MainWindow(QWidget *parent=0);

    


};

#endif



mainwindow.cpp

#include <QtGui>

#include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{    
        
    setupUi(this);
    stackedWidget->setCurrentIndex(0);
        
}

另 test.ui文件和creator里那个能正常切换的是一个文件

小弟还是初学望各位大虾指点迷津啊~跪谢~
[ 此帖被fightdk在2010-04-25 17:49重新编辑 ]
离线gault

只看该作者 1楼 发表于: 2010-04-24
main 函数里怎么还有setupUi啊?不是在MainWindow里设置过了吗?
离线fightdk
只看该作者 2楼 发表于: 2010-04-25
main里面的setupUi需要,mainwindow.cpp里那个是多余的...书上有我复制过来的,这个有和没有貌似不影响~
离线fightdk
只看该作者 3楼 发表于: 2010-04-25
原来是main.cpp中
QMainWindow *dialog=new QMainWindow;
应该是MainWindow *dialog=new MainWindow;
看来对程序的不理解还是会能导致很多问题的啊..大家共勉之~
离线gongkongrs

只看该作者 4楼 发表于: 2012-07-10
你的stackedWidget->setCurrentIndex(0);
中的stackedWidget怎么来的啊,说说,我也遇到相同问题,有全部的源码包吗
共享一下,谢谢
快速回复
限100 字节
 
上一个 下一个