Qt中的PopUP窗口

时间:2013-08-05 07:49:42

标签: qt

我在Qt中创建一个应用程序,我遇到了问题。我有一个主窗口,我希望当我按下一个按钮时,会出现一个弹出窗口。我不知道我该怎么做。我按下按钮时尝试调用show()方法,但不工作。我认为我必须使用QApplication中的exec()方法,但我不知道如果我在主类中创建它,如何调用它。

我的课程:

#include "mainwindow.h"
#include "dialog.h"
#include <QApplication>
#include "popup1.h"

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();

return a.exec();
}

MainWindow:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <iostream>
#include <QApplication>
int posiciones[10];
std::string port="";
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
for (int i=1; i<10; i++){
    if(i==7){
        posiciones[i]=90;
    }
    posiciones[i]=0;
}
//Mandar el vector para mover
ui->setupUi(this);
}

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

弹出:

#include "popup1.h"
#include "ui_popup1.h"

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

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

任何人都知道如何显示弹出窗口?谢谢你的时间。

2 个答案:

答案 0 :(得分:12)

将按钮信号clicked()与弹出窗口的exec()插槽相连:

connect(pushButton, SIGNAL(clicked()), popupWindow, SLOT(exec()));

其中pushButton - 指向按钮的指针,popupWindow - 指向弹出窗口的指针。您可以在QMainWindow构造函数中编写此代码。

答案 1 :(得分:2)

  1. MainWindow.h

    中加入您的弹出式课程

    包括“popup.h”

  2. MainWindow.h

    中定义指向弹出类的指针

    popup1 * mpPopUp1;

  3. MainWindow.cpp文件中创建一个对象:

    mpPopUp1 = new popup1;

  4. MainWindow.h中定义一个广告位并调用它,例如showPopUp()

    void showPopUp();

  5. showPopUp()中创建广告位MainWindow.cpp,并在其中写下以下语句:

    mpPopUp1 - &gt; show();

  6. 将您的pushButton关联到广告位showPopUp()

    connect(ui&gt; pushButton,SIGNAL(clicked()),this,SLOT(showPopUp()));

  7. 运行您的应用,点击pushButton并点击