PopUP-Fenster, in Qt
Bin ich erstellen, eine Anwendung in Qt und ich haben ein problem. Ich habe ein Hauptfenster, und ich möchte, dass wenn ich auf einen Knopf drückt, wird ein popup-Fenster wird angezeigt. Ich weiß nicht, wie kann ich es tun. Ich habe versucht, Sie zum aufrufen der show () - Methode auf, wenn ich den Knopf drücken, aber nicht funktionieren. Ich denke, dass ich muss, verwenden Sie die exec () - Methode von QApplication, aber ich weiß nicht, wie können es nennen, wenn ich es in der main-Klasse.
Meine Klassen:
#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;
}
PopUp:
#include "popup1.h"
#include "ui_popup1.h"
Popup1::Popup1(QWidget *parent) :
QDialog(parent),
ui(new Ui::Popup1)
{
ui->setupUi(this);
}
Popup1::~Popup1()
{
delete ui;
}
Jemand weiß, wie kann ich das popup-Fenster? Vielen Dank für Ihre Zeit.
Wo ist dein code, der verarbeitet die QPushButton click-Ereignis?
yep, fügen Sie die signal/slot Verbindung, die für Ihre Drucktaste und dort erzeugen Sie eine Instanz Ihrer popup1 Klasse. Dann rufen Sie
yep, fügen Sie die signal/slot Verbindung, die für Ihre Drucktaste und dort erzeugen Sie eine Instanz Ihrer popup1 Klasse. Dann rufen Sie
popup1instance->exec();
InformationsquelleAutor Elseine | 2013-08-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verbinden Sie Ihre Schaltfläche signal
clicked()
mitexec()
- Steckplatz Ihres popup-Fenster:Wo
pushButton
- Zeiger auf die Schaltfläche, undpopupWindow
- Zeiger auf das popup-Fenster. Schreiben Sie diesen code in QMainWindow Konstruktor.Erstellen Sie keine exec(), verwenden Sie QDialog::exec() qt-project.org/doc/qt-5.0/qtwidgets/qdialog.html#exec
es funktioniert!! Danke!
InformationsquelleAutor Mykola Niemtsov
Ihre pop-up-Klasse in Ihrem
MainWindow.h
:include " - popup.h"
Definieren Sie einen Zeiger auf Ihre pop-up-Klasse in der
MainWindow.h
:popup1 *mpPopUp1;
Erstellen ein Objekt in der
MainWindow.cpp
Datei:mpPopUp1 = new popup1;
Definieren einen Schlitz in
MainWindow.h
und nennen es zum BeispielshowPopUp()
:void showPopUp();
Erstellen der slot
showPopUp()
in IhremMainWindow.cpp
und schreiben Sie die folgende Anweisung drin:mpPopUp1 ->show();
Verbinden Sie Ihr
pushButton
den slotshowPopUp()
:connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(showPopUp()));
Führen Sie die app, klicken Sie auf
pushButton
und voilaInformationsquelleAutor McLan