zoukankan      html  css  js  c++  java
  • Qt 隐藏标题栏 窗口移动 鼠标事件

    • 摘要
      • 隐藏标题栏
      • 头文件声明鼠标移动虚函数
      • .cpp文件实现功能
    1
    setWindowFlags(Qt::FramelessWindowHint | windowFlags());

    无标题栏移动窗体的实现

    头文件声明虚函数

    • widget.h
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29

    #define WIDGET_H

    #include <QWidget>
    #include <a.out.h>

    namespace Ui {
    class ;
    }

    class : public QWidget
    {
    Q_OBJECT

    public:
    explicit (QWidget *parent = 0);
    ~Widget();

    protected:
    virtual void mousePressEvent(QMouseEvent *event);
    virtual void mouseMoveEvent大专栏  Qt 隐藏标题栏 窗口移动 鼠标事件an>(QMouseEvent *event); // 移动
    virtual void mouseReleaseEvent(QMouseEvent *event); // 鼠标释放
    private:
    Ui::Widget *ui;
    bool m_pressed; // 判断鼠标左键是否按下
    QPoint m_pos; // 鼠标相对于窗口的位置,不是相对屏幕的位置
    };

    #endif // WIDGET_H

    头文件实现虚函数

    • widget.cpp
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    void Widget::mousePressEvent(QMouseEvent *event)
    {
    if (event->button() == Qt::LeftButton)
    {
    m_pressed = true;
    m_pos = event->pos();
    }
    }

    void Widget::mouseMoveEvent(QMouseEvent *event)
    {
    if(m_pressed)
    {
    move(event->pos() - m_pos + this->pos());
    }
    }

    void Widget::mouseReleaseEvent(QMouseEvent *event)
    {
    Q_UNUSED(event); // avoid the warnning that 'event' is unused while building the project

    m_pressed = false;
    }
  • 相关阅读:
    jdk silent install test
    jdk silent install
    PS_note_01
    string.split('',-1)的作用
    dos下静默安装
    dos命令中rem 与::的区别
    barcode4j用法
    查看tomcat的版本
    eclipse里启动rabbitmq报错 java.net.SocketException: Connection reset
    Mysql性能调优
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12247789.html
Copyright © 2011-2022 走看看