小编Ale*_*lex的帖子

Qt - 移动无框窗口(慢重绘?)

那里,

我是Qt的新手,我试图创建一个可拖动的Frameless窗口.问题是,如果我移动窗口......有数千个(对不起,不知道如何用英语描述)直到我停止.有没有办法解决这个问题,还是我想错了路?

MyWindow.h

#include <QMainWindow>
#include <QLabel>
#include <QPushButton>
#include <QMouseEvent>

class MyWindow : public QMainWindow {
    Q_OBJECT
private:
    QLabel *label_title,*label_quit;
    QPushButton *bn_exit;
    QPixmap *pixmap;
    QPoint m_dragPosition;

public:
    MyWindow(QMainWindow *parent = 0, Qt::WindowFlags flags = 0);
protected:
    void paintEvent(QPaintEvent *event);
    void mouseMoveEvent(QMouseEvent *event);
    void mousePressEvent(QMouseEvent *event);
};
Run Code Online (Sandbox Code Playgroud)

MyWindow.cpp

#include "MyWindow.h"
#include <QApplication>
#include <QPainter>
#include <QLabel>

MyWindow::MyWindow(QMainWindow *parent, Qt::WindowFlags flags) : QMainWindow(parent,flags) {

    resize(1024,576);
    setWindowTitle("Versuch1");

    //Titel
    label_title = new QLabel("irgendwas",this);
    label_title->setGeometry(10,10,500,40);
    label_title->setStyleSheet("font-family: Arial; letter-spacing: 4px;font-weight:bold; color : white;font-size: 30px");

    //Exit-Button …
Run Code Online (Sandbox Code Playgroud)

mouse qt window move drag

6
推荐指数
1
解决办法
5394
查看次数

标签 统计

drag ×1

mouse ×1

move ×1

qt ×1

window ×1