dialog.h
Раскрывающийся текст
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
Q_OBJECT
public:
explicit Dialog(QWidget *parent = 0);
~Dialog();
private:
Ui::Dialog *ui;
protected:
void closeEvent(QCloseEvent *);
signals:
void closeWindow();
};
#endif // DIALOG_H
#define DIALOG_H
#include <QDialog>
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
Q_OBJECT
public:
explicit Dialog(QWidget *parent = 0);
~Dialog();
private:
Ui::Dialog *ui;
protected:
void closeEvent(QCloseEvent *);
signals:
void closeWindow();
};
#endif // DIALOG_H
mainwindow.h
Раскрывающийся текст
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QPushButton>
#include <QDebug>
#include "dialog.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
Dialog *window;
QPushButton *button;
private slots:
void showWindow(bool st);
void buttonCheckable();
};
#endif // MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QPushButton>
#include <QDebug>
#include "dialog.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
Dialog *window;
QPushButton *button;
private slots:
void showWindow(bool st);
void buttonCheckable();
};
#endif // MAINWINDOW_H
dialog.cpp
Раскрывающийся текст
#include "dialog.h"
#include "ui_dialog.h"
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
this->setWindowFlags(Qt::Popup);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::closeEvent(QCloseEvent *)
{
emit closeWindow();
}
#include "ui_dialog.h"
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
this->setWindowFlags(Qt::Popup);
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::closeEvent(QCloseEvent *)
{
emit closeWindow();
}
mainwindow.cpp
Раскрывающийся текст
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
window = new Dialog(this);
button = new QPushButton("Show window");
button->setCheckable(true);
ui->mainToolBar->addWidget(button);
connect(button, SIGNAL(toggled(bool)), this, SLOT(showWindow(bool)));
connect(window, SIGNAL(closeWindow()), this, SLOT(buttonCheckable()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::showWindow(bool st)
{
if(st)
{
window->show();
window->move(this->mapToGlobal(QPoint(button->x() - 33, button->y() + 22)));
}
}
void MainWindow::buttonCheckable()
{
if(!button->isChecked())
button->setChecked(false);
}
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
window = new Dialog(this);
button = new QPushButton("Show window");
button->setCheckable(true);
ui->mainToolBar->addWidget(button);
connect(button, SIGNAL(toggled(bool)), this, SLOT(showWindow(bool)));
connect(window, SIGNAL(closeWindow()), this, SLOT(buttonCheckable()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::showWindow(bool st)
{
if(st)
{
window->show();
window->move(this->mapToGlobal(QPoint(button->x() - 33, button->y() + 22)));
}
}
void MainWindow::buttonCheckable()
{
if(!button->isChecked())
button->setChecked(false);
}