在Qt框架中控制多个UI文件

时间:2011-08-02 08:08:39

标签: c++ qt user-interface

问题问了两次:请参阅Handling multiple ui files in Qt

我是Qt框架的新手,我得到了这个简单的任务:

在MainWindow中,我有一个提交按钮,一旦点击另一个完全不同的窗口应该出现

我想通过做一个名为From.ui文件的额外UI文件,并在点击提交后从MainWindow切换到Form,这是我的代码:

//main.cpp
#include "mainwindow.h"

#include <QtGui/QApplication>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    MainWindow mainWindow;
    mainWindow.setOrientation(MainWindow::ScreenOrientationAuto);
    mainWindow.showExpanded();

return app.exec();
}



//MainWindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "form.h"
#include <QtCore/QCoreApplication>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);

}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow:: SubmitClicked()
{
    Form* f= new Form(this);
       f->show();
       f->raise();
       f->activateWindow();
}




//Form.cpp
#include "form.h"
#include "ui_form.h"

Form::Form(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Form)
{
    ui->setupUi(this);
}

Form::~Form()
{
    delete ui;
}

这段代码编译得很完美,但它没有按预期进行,一旦点击提交,没有做任何事......

你能告诉我什么错了吗?

1 个答案:

答案 0 :(得分:1)

似乎SubmitClicked插槽未与按钮的点击事件相关联

将cout / printf放在SubmitClicked方法的顶部以确保它被调用。