Гурман
|
|
« : Октябрь 26, 2016, 17:08 » |
|
Известно, что если на главном окне лежат кастомные виджеты-плагины, и этим плагинам добавить новых пропертей, то эти проперти не появятся у виджетов окна. При этом перезапуска дизайнера, то есть всего креатора, не достаточно чтобы новые проперти появились. Это потому, что дизайнер берёт проперти виджетов окна не у самих виджетов (точнее не у их плагинов), а из XML-схемы интерфейса mainwindow.ui. Я знаю два способа сделать так, чтобы новые порперти появились в редакторе:
1. Тупой способ - удалить виджеты с новыми пропертями, и заново перетащить их из палитры в окно. Способ тупой, потому что при этом потеряются все настройки и дизайнерские подключения сигналов-слотов этих виджетов. Правда при этом все проперти добавятся автоматически правильно. 2. Хак-способ. Открыть файл mainwindow.ui в стороннем редакторе, и добавить в текстовом виде новые свойства всем своим виджетам интерфейса. Это не сложно, поскольку они почти такие же, как в случае задания свойств в domXml() функции. Простой XML. После сохранения отредактированного файла дизайнер его перезагрузит, и новые проперти у виджетов появятся. Способ не тупой, но это хак. И не шибко удобно, поскольку свойства надо вручную добавлять всем виджетам, которые их получили. При ошибке в худшем случае mainwindow.ui может перестать открываться, а в лучшем случае свойства будут иметь неправильные имена, и не будут согласовываться с данными.
Вопрос к знатокам - кто-нибудь знает ещё способ, такой чтобы после минимальных действий в файл mainwindow.ui попали все проперти уже новых виджетов? Чтобы они брались из плагинов автоматически, но без удаления и нового размещения виджетов на схеме?
|