为了构建出自己认为优雅的界面,需要将Qt自带标题栏啥的去掉。
首先使用Qt Designer创建一个MainWindow的类。
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_actionMinimize_triggered(); //最小化窗口
void on_actionClose_triggered(); //关闭窗口
void on_actionMaximize_triggered(); //最大化窗口
protected:
//改写QWidget的函数,自己重新实现拖动操作
void mouseMoveEvent ( QMouseEvent * event );
void mousePressEvent ( QMouseEvent * event );
void mouseReleaseEvent(QMouseEvent * event);
private:
Ui::MainWindow *ui;
//自己重新实现拖动操作
QPoint mousePosition;
bool isMousePressed;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include<QMouseEvent>
#include <QToolButton>
#include "mainwindow.h"
#include "ui_mainwindow.h"