Я трачу эти праздники на изучение приложений Qt. Я читал о Qt Designer всего несколько часов назад, что заставило меня задуматься: что люди пишут приложения реального мира в Qt для разработки своих графических интерфейсов? На самом деле, как люди разрабатывают GUI в целом?Ручной кодированный графический интерфейс с графическим интерфейсом Qt Designer
Я, например, обнаружил, что писать код вручную было концептуально проще, чем с помощью Qt Designer, хотя для сложных графических интерфейсов дизайнер мог иметь смысл. Большие графические интерфейсы могут быть доступны с помощью конструктора, но со временем они могут стать очень трудными для управления по мере увеличения сложности (это только мое мнение). Я также загрузил исходный код AmaroK, чтобы заглянуть в то, что делали эти ребята, и нашел много вызовов addWidget() и друзей, но ни один из этих файлов XML, созданных дизайнером (в стороне: AmaroK должен быть моим любимым приложением любая платформа).
Что значит «правильный» способ создания графического интерфейса? Дизайнер или код? Для этого обсуждения рассмотрим следующие типы графических интерфейсов:
- Простые диалоги, которые нужно просто ввести, показать результат и выйти. Предположим, что приложение использует URL-адрес YouTube и загружает видео на жесткий диск пользователя. Вид приложений, с которыми начинающий может начинать.
- Графические интерфейсы промежуточного уровня, например, липкий редактор заметок с несколькими панелями инструментов/пунктами меню. Возьмем xPad например (http://getxpad.com/). Я бы сказал, что большинство приложений относятся к категории «утилит».
- Очень сложные графические интерфейсы, такие как AmaroK или OpenOffice. Ты знаешь их, когда видишь их, потому что у них глаза кровоточат.
Не должно быть необходимости изменять код, сгенерированный uic (компилятор файла .ui). Если требуется больше функциональных возможностей, создается новый класс, который либо наследуется от сгенерированного класса, либо включает его как член и добавляет необходимый код. –
Стоит отметить, что в Qt3 и начале Qt4 (около 2008 года) Qt Designer не хватало нескольких функций, которые, возможно, были showstoppers для некоторых, таких как отсутствие поддержки ButtonGroups, пользовательских слотов, именования QLayouts и т. Д. Но за последние 5 -6 лет или около того, все эти проблемы были решены. Я предпочитаю использовать файлы пользовательского интерфейса, если это возможно, гораздо проще реорганизовать макеты, и это приводит к значительному сокращению кода для поддержки. –