Наше настольное приложение должно работать на Mac, Windows и Linux. Вот почему мы выбрали Qt. Раньше у нас было три отдельные базы кода для этих трех платформ.
В старой реализации мы рисовали нашу собственную "подпись окна" с помощью кнопок Закрыть, Свернуть, Развернуть. Это выглядит одинаково на всех трех платформах.
На этот раз я не уверен. Я подумал о том, чтобы позволить Qt использовать любые кнопки заголовка и заголовка по умолчанию для каждой платформы, прямоугольные кнопки «X», «_», круглые кнопки на левой стороне Mac и все, что идет с Linux / Ubuntu и т. Д.
Это мудрое решение? Одна из вещей, которые меня толкают, это то, что мне нужно написать код изменения размера для класса окна, который я пишу, код перетаскивания, работу с кнопками и все остальное, что связано с написанием вашей собственной подписи Windows.
Я заметил, что если я использую это, "Qt :: FramelessWindowHint", чтобы удалить заголовок, я автоматически потеряю свой захват изменения размера. Есть ли способ обойти это? Кроме того, как бы вы реализовали свой собственный код перетаскивания окон? (При условии, что вы знали область, которую хотите использовать в качестве «перетаскиваемой надписи». Похоже, мне нужно поймать кнопку в этой области, войти в режим перетаскивания, отследить движения мыши и переместить окна в соответствии с дельтами. Аналогично для изменения размера. Я делал это раньше на других платформах, но я хотел спросить, есть ли в Qt механизм, позволяющий мне делать это «из коробки»?