6

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();
}

メインウィンドウ:

#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;
}

ポップアップウィンドウを表示する方法を知っている人はいますか? 御時間ありがとうございます。

4

2 に答える 2

13

ボタン信号clicked()exec()ポップアップ ウィンドウのスロットに接続します。

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

場所pushButton- ボタンへのpopupWindowポインター、および - ポップアップ ウィンドウへのポインター。このコードは QMainWindow コンストラクターで記述できます。

于 2013-08-05T08:09:20.353 に答える
3
  1. にポップアップ クラスを含めますMainWindow.h

    「popup.h」を含める

  2. でポップアップ クラスへのポインタを定義しますMainWindow.h

    popup1 *mpPopUp1;

  3. MainWindow.cppファイルにオブジェクトを作成します。

    mpPopUp1 = 新しい popup1;

  4. でスロットを定義し、次のMainWindow.hように呼び出しますshowPopUp()

    void showPopUp();

  5. にスロットを作成し、そのshowPopUp()MainWindow.cppに次のステートメントを記述します。

    mpPopUp1 ->show();

  6. pushButtonをスロットに接続しますshowPopUp()

    connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(showPopUp()));

  7. アプリを実行し、クリックしpushButtonて出来上がり

于 2016-04-25T11:48:04.383 に答える