修正无边框窗体类
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include "frmframelesswidget.h"
|
||||
#include "ui_frmframelesswidget.h"
|
||||
#include "qpushbutton.h"
|
||||
#include "qcheckbox.h"
|
||||
#include "framelesswidget.h"
|
||||
|
||||
frmFramelessWidget::frmFramelessWidget(QWidget *parent) : QWidget(parent), ui(new Ui::frmFramelessWidget)
|
||||
@@ -15,11 +16,18 @@ frmFramelessWidget::~frmFramelessWidget()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void frmFramelessWidget::closeEvent(QCloseEvent *)
|
||||
{
|
||||
exit(0);
|
||||
}
|
||||
|
||||
void frmFramelessWidget::on_btnOpen_clicked()
|
||||
{
|
||||
QWidget *w = new QWidget;
|
||||
w->setAttribute(Qt::WA_DeleteOnClose);
|
||||
w->setWindowFlags(Qt::WindowStaysOnTopHint);
|
||||
w->setWindowTitle("自由拉伸无边框窗体");
|
||||
w->setMinimumSize(200, 120);
|
||||
w->resize(480, 320);
|
||||
|
||||
//设置下背景颜色区别看
|
||||
@@ -28,11 +36,33 @@ void frmFramelessWidget::on_btnOpen_clicked()
|
||||
w->setPalette(palette);
|
||||
|
||||
QPushButton *btn = new QPushButton(w);
|
||||
connect(btn, SIGNAL(clicked(bool)), w, SLOT(close()));
|
||||
btn->setGeometry(10, 10, 100, 25);
|
||||
btn->setText("关闭");
|
||||
btn->setGeometry(10, 10, 130, 25);
|
||||
connect(btn, SIGNAL(clicked(bool)), w, SLOT(close()));
|
||||
|
||||
FramelessWidget *f = new FramelessWidget(w);
|
||||
f->setWidget(w);
|
||||
QCheckBox *cboxMove = new QCheckBox(w);
|
||||
cboxMove->setText("可移动");
|
||||
cboxMove->setChecked(true);
|
||||
cboxMove->setGeometry(10, 40, 70, 25);
|
||||
connect(cboxMove, SIGNAL(stateChanged(int)), this, SLOT(stateChanged1(int)));
|
||||
|
||||
QCheckBox *cboxResize = new QCheckBox(w);
|
||||
cboxResize->setText("可拉伸");
|
||||
cboxResize->setChecked(true);
|
||||
cboxResize->setGeometry(80, 40, 70, 25);
|
||||
connect(cboxResize, SIGNAL(stateChanged(int)), this, SLOT(stateChanged2(int)));
|
||||
|
||||
frameless = new FramelessWidget(w);
|
||||
frameless->setWidget(w);
|
||||
w->show();
|
||||
}
|
||||
|
||||
void frmFramelessWidget::stateChanged1(int arg1)
|
||||
{
|
||||
frameless->setMoveEnable(arg1 != 0);
|
||||
}
|
||||
|
||||
void frmFramelessWidget::stateChanged2(int arg1)
|
||||
{
|
||||
frameless->setResizeEnable(arg1 != 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user