毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 移动平台 >> 正文

Qt中界面跳转在槽函数里实现界面切换

更新时间:2013-7-20:  来源:毕业论文

Qt中界面跳转在槽函数里实现界面切换

我现在在做一个设备的操作软件类似于操作终端的东西,在界面设计的时候遇到点问题,希望大家给点建议。

界面1,我把这个界面设为主界面是以ui Designer 设计的内容很简单有四个Button,分别是Button1,Button2,Button3,Button4.
以多继承方式继承在.cpp进行button的槽函数进行编辑,在槽函数里实现界面切换。

界面2,一个数据显示界面,里面有三个Button。buttonr(点击后返回界面一),buttone(点击后进入界面3),buttons(点击进入界面4)。本界面同样用ui Designer 编辑,采用多继承法继承。

界面3,界面4.为参数设置界面。但是都有一个返回按钮返回到界面1.

我从界面1切换到界面二的函数是
connect(ui->Button1,SIGNAL(clicked()),this,SLOT(on_Button1_clicked()));
对应的槽响应函数是
void MainWindow::on_Button1_clicked()
                       {
                            hide();
                            form1.show();
                            form1.Setform1Widget(this);  //此处的Setform1Widget()为自己写的指针传递函数,把页面当前指针传递到下一页,用于回显。
                        }


界面1 是主界面,通过界面1 的四个按钮可以进入四个分界面(没有父子关系),但是从界面2需要通过按钮跳到界面3和界面4.
这里我不知道怎么做了尝试过多种方法都不理想。
界面1(为主界面,其他界面显示的时候他隐藏),他的四个按钮对应的界面都要创建出来,不显示时也为隐藏状态(主要是为了切换显示更快些)。所以这个显示框架有五个界面,总有一个显示,其他四个隐藏。

方法1:用new 创建,每次想用创建,用完销毁。这样程序的速度会很慢,而且容易导致内存泄漏。
方法2:用指针,貌似可以但是跳页面传递指针貌似很繁琐。
方法3:用QWidgetStack,不是很熟悉,如果有高手能用次方法,望赐教最好有具体的例程代码能提供给小弟分析。
QStackedWidget *stackedWidget = new QStackedWidget;
     stackedWidget->addWidget(widget1);
     stackedWidget->addWidget(widget2);
stackedWidget->setCurrentIndex(int)
QStackedWidget的确也很方便 实实现界面切换的方法有很多种。这里给你两个比较好的实例,你们自己研究一下啊!
 
signals:
    void mainwindow(int);    //自定义信号
 
 connect(this,SIGNAL(mainwindow(int)),ui->stackedWidget,SLOT(setCurrentIndex(int)));         //连接信号和槽函数(这里用到了stackedWidget类了)
 
 
void MainWindow::on_electricButton_clicked()                    //槽响应函数。
{
    emit mainwindow(3);        //the number in function is the form where you want get in.
}
 
 
实现了界面的切换。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。