Создание “довольно” спокойных пользовательских виджетов

Я всегда использовал термин «магическое число» по-разному, как неявное значение, хранящееся в структуре данных, которое можно проверить как проверку быстрой проверки. Например, файлы gzip содержат 0x1f8b08 в качестве первых трех байтов, файлы классов Java начинаются с 0xcafebabe и т. Д.

Вы часто видите магические числа, встроенные в форматы файлов, потому что файлы могут быть отправлены примерно беспорядочно и потерять любые метаданные о том, как они были созданы. Однако магические числа также иногда используются для структур данных в памяти, таких как вызовы ioctl ().

Быстрая проверка магического номера перед обработкой файла или структуры данных позволяет сигнализировать ошибки раньше, а не schlep полностью через потенциально длительную обработку, чтобы объявить, что вход был полным balderdash.

25
задан swanson 5 October 2009 в 21:23
поделиться

2 ответа

В общем, есть три вещи в указанном порядке:

  1. CSS / таблицы стилей . Таблицы стилей, когда они достаточно мощные для ваших нужд, хороши и позволяют изменять стиль во время выполнения. См. примеры таблиц стилей .
  2. Произвольная роспись . Вы можете сделать практически все, что вы хотите с пользовательской живописью. Поддержка Qt для PNG и SVG должна сильно помочь. Вы захотите взглянуть на примеров рисования . Также взгляните на документацию QStyle , чтобы понять, какую информацию о стиле вы должны учитывать.
  3. Пользовательские стили . Если вам нужно настроить приложение целиком, вам лучше создать собственный стиль. Не для слабонервных.

По сути, выберите самое простое решение, которое будет работать для вас. Также взгляните на Qt Creator , он красиво оформлен и доступен весь исходный код .

30
ответ дан AlwaysImproving 15 October 2019 в 16:35
поделиться

Вот учебник по созданию пользовательского окна путем удаления верхней панели системы и рисования заднего фона: http://qt.developpez.com/tutoriels/braindeadbzh/customwindow/ .

Так как он подклассирует QWidget, вы можете сделать это для всех подклассов QWidget, таких как QPushButton).

Если вы хотите использовать их в QTDesigner, просто включите ваш класс, а затем добавьте «классический» виджет в свой пользовательский. Это может быть полезно: http://pepper.troll.no/s60prereleases/doc/designer-using-custom-widgets.html.

10
ответ дан Patrice Bernassola 15 October 2019 в 16:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: