COZULDU[Form sürükleme]
-
Qt'de bir programda tittle bar'ı kaldırdım ancak o kalkınca pencereyi sürükleyebileceğim bir yer mevcut değil.Neyse ben bu sürükleme için bir alan yaptım kullanıcı o widget üzerine gelip mouse basılı tutunca pencereyi oraya buraya sürükleyebilmesini istiyorum ama nasıl yapacağımı bulamadım.
-
Al sana kod :)
@
#ifndef WINDOWTITLEBAR_H
#define WINDOWTITLEBAR_H#include <QWidget>
#include <QPoint>
#include <QMouseEvent>class WindowTitleBar : public QWidget
{
Q_OBJECTpublic:
WindowTitleBar(QWidget *parent = 0);
~WindowTitleBar();
protected:
void mousePressEvent (QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void mouseMoveEvent (QMouseEvent *event);
private:
QPoint m_Diff;
};#endif // WINDOWTITLEBAR_H
@
@
#include "windowtitlebar.h"WindowTitleBar::WindowTitleBar(QWidget *parent) : QWidget(parent)
{}
WindowTitleBar::~WindowTitleBar()
{}
void WindowTitleBar::mousePressEvent(QMouseEvent *event)
{
m_Diff = event->pos();setCursor(QCursor(Qt::ClosedHandCursor));
}void WindowTitleBar::mouseReleaseEvent(QMouseEvent *event)
{
Q_UNUSED(event);setCursor(QCursor(Qt::ArrowCursor));
}void WindowTitleBar::mouseMoveEvent(QMouseEvent *event)
{
QPoint p = event->globalPos();window()->move(p - m_Diff);
}
@ -
kodları biraz açıklama şansın var mı?
-
Neden aradaki farka tasidigini anlamadim.