【发布时间】:2018-02-25 15:06:41
【问题描述】:
我是 Qt 的初学者,我想使用我自己的自定义 titleBar(QLabel) 来拖动和移动窗口。
Qt 代码:
void MainWindow::mousePressEvent(QMouseEvent *event)
{
mpos = event->pos();
}
void MainWindow::mouseMoveEvent(QMouseEvent *event)
{
if (event->buttons() & Qt::LeftButton)
{
QPoint diff = event->pos() - mpos;
QPoint newpos = this->pos() + diff;
this->move(newpos);
}
}
此代码允许我通过在任何 QWidget 上按下鼠标来移动窗口,但我想通过在 QLabel 上按下鼠标来移动窗口。
【问题讨论】:
-
QLable 是来自 QWidget 的驱动类,您可以安装事件或从自定义类和 mouseMoveEvent 代码中执行 Qlabel 类
-
我提供的可行解决方案在stackoverflow.com/a/60659234/10060901中给出
标签: c++ qt window mouseevent move