2014-01-13 5 views
1

Я помню, что в C# существует метод под названием DragMove(), который позволяет перетащить окно, щелкнув по выбранной области.Есть ли метод перетаскивания - перемещение в Qt5?

Пример (из this ответа):

private void Window_MouseDown(object sender, MouseButtonEventArgs e) 
{ 
    if (e.ChangedButton == MouseButton.Left) 
     this.DragMove(); 
} 

Есть ли функция, как это в Qt мире?

Я знаю, что a solution would be to listen for mousePressEvent and mouseMoveEvent, но я просто хочу знать, есть ли собственный метод, который позволит перетащить winodw на экран, просто называя его, как в C# this.DragMove().

Кроме того, он должен быть кросс-платформенный ...

ответ

1

Нет, нет функции, как то, что вы смотрите в Qt. Прослушивание событий мыши прост и будет считаться идиоматическим в Qt.

Если вы хотите, чтобы виджет был перетаскиваемым, нажав в любом месте между элементами управления, просто реализуйте эти события в базовом событии. Любая область, не охваченная элементами управления, будет «перетаскиваться».

+0

Можете ли вы добавить пример, пожалуйста? –

Смежные вопросы