我有QSizeGrip
一个QWidget
父级,这个父级也有另一个QWidget
父级,但我只想将此 sizeGrip 用于它的父级,而不是它的父级。我不希望这个 sizeGrip 在顶级窗口上工作。
有没有办法做到这一点?怎么能做到这一点?
我有QSizeGrip
一个QWidget
父级,这个父级也有另一个QWidget
父级,但我只想将此 sizeGrip 用于它的父级,而不是它的父级。我不希望这个 sizeGrip 在顶级窗口上工作。
有没有办法做到这一点?怎么能做到这一点?
安装事件过滤器QSizeGrip
:
p->size_grip = new QSizeGrip(0);
p->size_grip->installEventFilter(this);
然后在eventFilter
:
bool MyClass::eventFilter(QObject *o, QEvent *e)
{
if(o == p->size_grip)
{
switch(static_cast<int>(e->type()))
{
case QEvent::MouseButtonPress:
if(static_cast<QMouseEvent*>(e)->button() == Qt::LeftButton)
{
}
break;
case QEvent::MouseMove:
//resizing...
return true;
break;
case QEvent::MouseButtonRelease:
if(static_cast<QMouseEvent*>(e)->button() == Qt::LeftButton)
{
}
break;
}
}
return QWidget::eventFilter(o,e);
}