qt中如何去掉主窗口标题栏

来源:互联网 发布:mysql true false 编辑:程序博客网 时间:2024/05/18 05:36

有这样一个程序:

 

#include <QtGui/QApplication>

 

#include <qtextcodec.h>

#include <QtGui/QDialog>

#include <QtCore/QTimer>

#include "widget.h"

int main(int argc, char *argv[])

{

QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));

QApplication a(argc, argv);

QDialog dialog;

dialog.setStyleSheet(QString::fromUtf8("background-image: url(:/images/1.PNG);/n"

"color: rgb(0, 255, 0);/n"

"font: 75 16pt /"/345/256/213/344/275/223/";"));

dialog.setGeometry(QRect(50, 50, 350, 250));               //可设置窗口显示的方位与大小

dialog.setWindowFlags(Qt::FramelessWindowHint);     //也是去掉标题栏的语句

Widget w;

QTimer timer;

QObject::connect(&timer, SIGNAL(timeout()), &w, SLOT(showNormal()));

QObject::connect(&timer, SIGNAL(timeout()), &dialog, SLOT(accept()));

timer.start(5000);

dialog.exec();

w.showNormal();       //  1、可更改的地方。

return a.exec();

}

 

Widget::Widget(QWidget *parent)

 

: QWidget(parent)

{

QMessageBox::StandardButton message;

QApplication::setStyle(QStyleFactory::create("plastique"));

QApplication::setPalette(QApplication::style()->standardPalette());

ui.setupUi(this);

connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(mountMessage()));

connect(ui.pushButton_2, SIGNAL(clicked()), this, SLOT(umountMessage()));

connect(ui.pushButton_3, SIGNAL(clicked()), this, SLOT(saveMessage()));

connect(ui.pushButton_5, SIGNAL(clicked()), this, SLOT(adjustMessage()));

connect(ui.pushButton_7, SIGNAL(clicked()), this, SLOT(about_usMessage()));

connect(ui.pushButton_4, SIGNAL(clicked()), this, SLOT(stop_saveMessage()));

connect(ui.pushButton_6, SIGNAL(clicked()), this, SLOT(touchMessage()));

connect(ui.pushButton_8, SIGNAL(clicked()), this, SLOT(exitMessage()));

 

mount_u(); //挂载U盘成功!

if( !have_video() ) { //if have WebCam?

message = QMessageBox::information(this, tr("摄像头未连接"),

tr("摄像头未连接,请连接摄像头。") );

}

setWindowFlags(Qt::FramelessWindowHint);    /2、可更改的地方

setWindowTitle(tr("欢迎使用迷你监控器!"));

}

 

 

程序中更改两处显示主窗口的样式。

1、该处可设置窗口大小样式,有四种选择

w.show();                           实际大小

w.showEvent()                   自定义大小

w.showFullScreen();           全屏

w.showMaximized();           最大化

w.showMinimized();            最小化

w.showNormal();                 正常

2、该处是去掉窗口标题栏的语句

 

 

或者这样子

#include "QMouseEvent"

#include "QFileDialog"

public:

QPoint last,pos0;//窗口移动处理

protected:

void mouseMoveEvent(QMouseEvent *);

void mousePressEvent(QMouseEvent *);

 

 

//窗口移动处理//

void MainWindow::mouseMoveEvent(QMouseEvent *e)

{

QPoint newpos = e->globalPos();

QPoint upleft = pos0 + newpos - last;

move(upleft);

}

 

void MainWindow::mousePressEvent(QMouseEvent *e)

{

last = e->globalPos();

pos0 = e->globalPos() - e->pos();

}

//窗口移动处理//

 

//关闭窗体 和窗体最小化//

void MainWindow::on_pushButton_13_clicked()

{

    this->close();

}

 

void MainWindow::on_pushButton_14_clicked()

{

   this->showMinimized();

}

原创粉丝点击