Как узнать плавающую позицию QWidget, когда она отображается
Я пытаюсь переместить плавающий QWidget (флаг Qt::window), в положение, зависящее от его начальной позиции, которое определяется оконным менеджером.
Я не могу найти чистый способ сделать это. Событие первого хода всегда в позиции 0,0; и во время выставочного мероприятия позиция также равна 0,0.
Итак, единственный способ, который я сейчас нашел, это что-то вроде этого:
this->firstMoved = false;
this->myFirstMoved = false;
...
void TabWidget::moveEvent( QMoveEvent* event )
{
if( this->firstMoved )
{
if(! this->myFirstMoved )
{
this->myMoveMethod();
this->myFirstMoved = true;
}
}
else
{
this->firstMoved = true;
}
Superclass::moveEvent( event );
}
не так чисто, как я бы ожидал. Я использую X11, кстати.