Topaz Star Effects

Topaz Star EffectsИзменение размеров элементов управления в приложениях QtДовольно часто при локализации программы или приложения
  1. Оффлайн

    Автор темы

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Topaz Star Effects
    Изменение размеров элементов управления в приложениях Qt


    Довольно часто при локализации программы или приложения приходится подгонять размеры элементов управления и их положение под переведенный текст. Это легко сделать в шаблонном редакторе при помощи визуального редактора форм и диалогов, если приложение и программа написана, например, на Delphi, или содержит внедренные ресурсы. Но как изменить свойства элементов, если видимых ресурсов нет, а перевод приложения доступен только в жестко-закодированных строках. Шаблонники, как и простейшие редакторы ресурсов типа Resource Hacker, Restorator и др., будут бессильны. В таких случаях помочь может только отладчик, например, OllyDdb, Interactive Disassembler (IDA), x64dbg и др.

    В этой статье, на примере плагина Topaz Star Effects для графического редактора Photoshop, мы рассмотрим способы нахождения проблемных элементов управления и научимся корректировать их размеры. Для решения подобных задач вам потребуется справочная документация по библиотеке Qt. Умение и навыки работы с отладчиком, а также знание и понимание ассемблерных инструкций.




    Сообщение отредактировал WYLEK 29 января 2023 - 14:38

    Кто ищет, тот всегда найдет!

    24 мая 2015 - 10:42 / #1
  2. Оффлайн

    Stalevar

    Звание: Эксперт

    Команда

    Сообщений: 488

    Создано тем: 85

    Рейтинг: 6

    Репа: (59|59|0)

    Баллы: 51

    Страна: не указана!

    Был: 2015-05-25 08:56

    Лайков: 22

    Вот и здорово, что открыли тему!
    Тогда вопрос такого порядка. Кнопки "Сохранить", "Удалить", "Импорт", "Экспорт" "Before", "After" и "Hide" растянул и выровнял.
    Также растянул и выровнял панели Пресет и Эффектов.
    Разработчик накосячил с панелями предпросмотра и они наваливаются на кнопки с обеих сторон.
    Из скрина видно, что окна по краям пустые, вопрос как их уменьшить и привести в божеский вид.
    Я так понял, что они взаимозависимы. В отладчике копался, но видимо плохо искал.

    ]
    Сообщение отредактировал 13 февраля 2017 - 23:06

    Храни меня Господь от тех, кому я верю. Кому не верю - тех остерегусь я сам.

    24 мая 2015 - 11:42 / #2
  3. Оффлайн

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    Респект, что и сказатьhappy

    приложениях Qt

    Тебя ждут большие открытияbiggrin
    25 мая 2015 - 00:04 / #3
  4. Оффлайн

    Автор темы

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Цитата: Stalevar
    Разработчик накосячил с панелями предпросмотра и они наваливаются на кнопки с обеих сторон.



    Ты ошибаешься. Это окошки предварительного просмотра и их заполнение выполняется с учетом пропорций изображения. Пропорции окна предварительного просмотра 4:3. Если загрузить изображение, например, с пропорциями 16:9, то, естественно, сверху и снизу будут пустые поля.

    Загружено изображение с пропорциями 4:3. Пустых областей нет.
    ]

    А вот загружено изображение с пропорциями 2,39:1.
    ]

    Поэтому изменять и корректировать здесь ничего не надо.
    Сообщение отредактировал 13 февраля 2017 - 23:10

    Кто ищет, тот всегда найдет!

    25 мая 2015 - 23:32 / #4
  5. Оффлайн

    Автор темы

    Leserg

    Звание: Ветеран

    Команда сайта

    Сообщений: 945

    Создано тем: 79

    Рейтинг: 8

    Репа: (131|131|0)

    Баллы: 1676

    Был: 2024-07-28 22:59

    Лайков: 167

    Хотя можно изменить стилевое оформление элемента, на котором выводится изображение. Например, убрать границу элемента и 3D-эффект:

    Рисунок 1
    ]

    Смотрим справочную документацию по Qt:Описание Класса QFrame.

    Таблица 1
    ]

    Таблица 2
    ]

    Потом открываем программу в отладчике, находим участок кода с формированием желаемого элемента и анализируем код:

    Рисунок 2
    ]

    Сверяемся со значениями из таблицы. Затем выбираем значения, которые хотим задать, и делаем соответствующие изменения в коде:

    Рисунок 3
    ]

    При таких изменениях в коде результат будет такой, какой вы видите на рисунке 1.
    Сообщение отредактировал 13 февраля 2017 - 23:13

    Кто ищет, тот всегда найдет!

    26 мая 2015 - 20:48 / #5
  6. Оффлайн

    Stalevar

    Звание: Эксперт

    Команда

    Сообщений: 488

    Создано тем: 85

    Рейтинг: 6

    Репа: (59|59|0)

    Баллы: 51

    Страна: не указана!

    Был: 2015-05-25 08:56

    Лайков: 22

    Сергей спасибо!

    В принципе, что я и хотел, убрал рамку с левого предпросмотра, посмотрим войдет ли это в окончательную редакцию.

    ]
    Сообщение отредактировал 13 февраля 2017 - 23:05

    Храни меня Господь от тех, кому я верю. Кому не верю - тех остерегусь я сам.

    27 мая 2015 - 05:58 / #6
  7. Оффлайн

    WYLEK

    Звание: Легенда

    Админ

    Сообщений: 2195

    Создано тем: 317

    Рейтинг: 10

    Репа: (245|245|0)

    Баллы: 3580

    Был: 2024-11-18 08:59

    Лайков: 202

    В принципе, что я и хотел, убрал рамку с левого предпросмотра


    Ну, я не знаю зачем это делатьwacko с рамкой красивей.
    Надо придерживаться принципа - чем меньше ковыряешь код, тем стабильнее работает программа.

    27 мая 2015 - 08:07 / #7
  8. Оффлайн

    Stalevar

    Звание: Эксперт

    Команда

    Сообщений: 488

    Создано тем: 85

    Рейтинг: 6

    Репа: (59|59|0)

    Баллы: 51

    Страна: не указана!

    Был: 2015-05-25 08:56

    Лайков: 22

    с рамкой красивей

    Это неокончательное решение, просто мне не нравилось, что рамка касалась кнопки.

    Храни меня Господь от тех, кому я верю. Кому не верю - тех остерегусь я сам.

    27 мая 2015 - 08:14 / #8

Статистика форума, пользователей онлайн: 0 (за последние 20 минут)

---
Создано тем
1197
Всего сообщений
15762
Пользователей
18015
Новый участник
HELIUM