Hi mcosta, thanks for your reply.
I have tried your code, but the program stop and show an error message:
The program has unexpectedly finished.
i am a newbie to Qt, when i learned how to create a new dialog (window), i studied some codes from this forum. Here is how i understand to create a new dialog, and i create all my new dialogs in the same way. can you point me is there anything wrong in my code, please?
in main frame (mainscr), i have a push button to open a second dialog (cyclescrdialog).
in mainscr.cpp
#include "mainscr.h"
#include "ui_mainscr.h"
// ******
#include "cyclescrdialog.h"
// ******
#include "qextserialport.h"
#include <qmessagebox.h>
extern cycleScrDialog *cyclescrdialog; //*****
MainScr
::MainScr(QWidget *parent
) : ui(new Ui::MainScr)
{
ui->setupUi(this);
//...
//...
}
void MainScr::on_pushButton_1_clicked()
{
if (!cyclescrdialog)
//cyclescrdialog = new cycleScrDialog(NULL);
cycleScrDialog cyclescrdialog(NULL); //if i try this code, program will stop
cyclescrdialog->exec();
}
#include "mainscr.h"
#include "ui_mainscr.h"
// ******
#include "cyclescrdialog.h"
// ******
#include "qextserialport.h"
#include <qmessagebox.h>
extern cycleScrDialog *cyclescrdialog; //*****
MainScr::MainScr(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainScr)
{
ui->setupUi(this);
//...
//...
}
void MainScr::on_pushButton_1_clicked()
{
if (!cyclescrdialog)
//cyclescrdialog = new cycleScrDialog(NULL);
cycleScrDialog cyclescrdialog(NULL); //if i try this code, program will stop
cyclescrdialog->exec();
}
To copy to clipboard, switch view to plain text mode
in cyclescrdialog.cpp
#include "cyclescrdialog.h"
#include "ui_cyclescrdialog.h"
#include <qmessagebox.h>
cycleScrDialog *cyclescrdialog;
cycleScrDialog
::cycleScrDialog(QWidget *parent
) : ui(new Ui::cycleScrDialog)
{
ui->setupUi(this);
// remove window frame
Qt::WindowFlags flags = windowFlags();
if (flags.testFlag(Qt::FramelessWindowHint))
return;
flags |= Qt::FramelessWindowHint;
setWindowFlags(flags);
//...
//...
}
#include "cyclescrdialog.h"
#include "ui_cyclescrdialog.h"
#include <qmessagebox.h>
cycleScrDialog *cyclescrdialog;
cycleScrDialog::cycleScrDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::cycleScrDialog)
{
ui->setupUi(this);
// remove window frame
Qt::WindowFlags flags = windowFlags();
if (flags.testFlag(Qt::FramelessWindowHint))
return;
flags |= Qt::FramelessWindowHint;
setWindowFlags(flags);
//...
//...
}
To copy to clipboard, switch view to plain text mode
Bookmarks