Qt mac: Чем отличается макет от других ОС - PullRequest
3 голосов
/ 07 июня 2010

Qt - это хороший фреймворк, который позволяет людям что-то разрабатывать один раз, и он будет работать для 3 основных ОС.

Но время от времени в макете есть некоторые различия: размещение некоторых виджетов не ведет себя так же, как в Windows или Linux.

Вы наблюдали странное поведение? на каких виджетах? как ты это исправил?

Спасибо, что поделились

Ответы [ 2 ]

0 голосов
/ 13 июня 2010

Я бы также предложил вам использовать QPushButton :: setFlat (true), если вы собираетесь стилизовать кнопки. Если вы этого не сделаете, поля и позиции кнопки в Mac не рассчитываются должным образом, поскольку ожидается наличие специальной области эффектов Mac. У вас есть похожая проблема в QLineEdit, вам нужно сделать вызов метода, чтобы избежать синего выделения в Mac.

Существует также ошибка в Qt 4.6, и вы не можете стилизовать QComboBox в Mac (вы можете, но результаты очень странные). Шрифты имеют разные размеры пикселей для одного и того же размера семейства, поэтому будьте осторожны, если вы работаете с многоплатформенными приложениями, особенно если у вас есть элемент фиксированного размера с текстом на нем.

Кроме того, я не помню других больших различий. У вас есть сбои, которые случаются только в Mac или в Windows, и какие-то необычные эффекты рисования, если вы делаете очень сложные вещи. Обычно сбои связаны с внутренним кодом Qt, есть некоторые вещи, которые ошибочны, но они работают в ОС, и вы не понимаете проблему до ее сбоя в Mac или Linux.

Если вы используете QGraphicsView в Mac, будьте осторожны, если этот вид находится в области прокрутки. По какой-то причине в Qt есть ошибка, и иногда он рисует QGraphicsView вне окна, когда вы прокручиваете объект, который его содержит.

0 голосов
/ 07 июня 2010

Ну, только различия в операционных системах, которые я видел на данный момент, где интервалы и поля, но это всегда делалось в соответствии с рекомендациями для каждой операционной системы. Кроме того (я не уверен, знакомы ли вы с Mac OS X), наибольшая разница заключается в QMainWindow и menubar, которые в Mac OS X всегда находятся в верхней части экрана (а не в верхней части окна, как в Windows или Linux). Мне никогда не приходилось делать «обходной путь» с раскладками Qt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...