crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  < 1 2 3 >  
Ответить в данную темуНачать новую тему
> Свойства QComboBox-мембера в дизайнере
PAFOS
  опции профиля:
сообщение 7.4.2011, 8:08
Сообщение #11


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

Спасибо сказали: 29 раз(а)




Репутация:   8  


Чета мало че понятно мне )

Код покажешь?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 10.4.2011, 10:59
Сообщение #12


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


дело застопорилось в связи с некоторыми событиями )) Я сейчас ещё поразбираюсь, потом с кодом приду, если никак совсем будет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 2.5.2011, 14:06
Сообщение #13


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


кое-как снова добрался до компа ))

в общем, проблема вот в чём

в классе, ответственном за появление контрола в ленте дизайнера, нужно неким образом
    class plugin_QMediaHiveControls_QLineEdit: public QObject, public QDesignerCustomWidgetInterface
    {
        Q_OBJECT
        Q_INTERFACES(QDesignerCustomWidgetInterface)

    protected:
        virtual QString domXml() const
        {
            return "";
        }

        ...
        ...

    };


по идее, нужно заставить вернуть нечто вроде
            return
            "    <widget class=\"QMediaHiveControls_QLineEdit\" name=\"m_name1\">"
            "     <property name=\"geometry\">"
            "      <rect>"
            "       <x>0</x>"
            "       <y>0</y>"
            "       <width>74</width>"
            "       <height>22</height>"
            "      </rect>"
            "     </property>"
            "     <item>"
            "      <property name=\"text\">"
            "       <string>111</string>"              //вот эти строки!
            "      </property>"
            "     </item>"
            "     <item>"
            "      <property name=\"text\">"
            "       <string>222</string>"              //вот эти строки!
            "      </property>"
            "     </item>"
            "     <item>"
            "      <property name=\"text\">"
            "       <string>333</string>"              //вот эти строки!
            "      </property>"
            "     </item>"
            "    </widget>"
    ;


но тут проблемы -
1) как узнать имя переменной (m_name1)
2) как связаться к экземпляром переменной, чтобы из неё данные достать и встроить в строку

Сообщение отредактировал Алексей1153 - 2.5.2011, 14:07
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
PAFOS
  опции профиля:
сообщение 5.5.2011, 16:37
Сообщение #14


Активный участник
***

Группа: Участник
Сообщений: 258
Регистрация: 27.12.2010
Из: Дмитров
Пользователь №: 2309

Спасибо сказали: 29 раз(а)




Репутация:   8  


посмотри пример QTDIR\examples\designer\containerextension.
очень много полезностей можно высмотреть.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 5.5.2011, 20:44
Сообщение #15


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


спасибо, щас гляну
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 22.5.2011, 10:17
Сообщение #16


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


PAFOS, кстати, спасибо за помощь, я ведь тоггда победил эту фигню по твоим подсказкам ))

Если кому интересно, попозже накидаю описание, что было проделано
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 20.6.2011, 18:54
Сообщение #17


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


интересный момент заметил. Поля Q_PROPERTY автоматом не сохраняются в XML, когда редактирование объекта происходит через интерфейс QDesignerTaskMenuExtension

В режиме редактирования все изменения показываются на виджете (оно и понятно, ведь меняли текущий созданный экземпляр), но если нажать ctrl+R , показывается превью, на котором изменений нет.

Возможно, по правильному лечится это как то особо (просьба подсказать) , но я нашёл только два способа
1) неприемлимый: нужно "дёрнуть" какую-нибудь из настроек виджета в разноцветной таблице редактирования свойств. Тогда XML заполняется нашими свойствами
2) относительно приемлимый: в domXML явно прописать с пустыми значениями все свойства в тегах
...
<property name = "свойство"><string></string></property>
...

Если "всё правильно", то наше свойство в цветной таблице дизайнера будет показано жирным шрифтом. И будет нормально сохраняться

И как бы я могу и прописать, но больно уж дофига дублирования кода получается

Собственно, вопрос
Цитата
Возможно, по правильному лечится это как то особо (просьба подсказать)


Сообщение отредактировал Алексей1153 - 20.6.2011, 19:11
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 22.6.2011, 12:59
Сообщение #18


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


а версия Qt какя? И где работаешь в Дизайнере или Креаторе?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 22.6.2011, 13:11
Сообщение #19


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата
Qt Creator 2.0.1
Основан на Qt 4.7.0 (32-х битной)
Собран Aug 24 2010 в 11:00:55


работаю в креаторе, компилирую плагин там же. Затем в дизайнере использую плагин-контрол
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 22.6.2011, 13:23
Сообщение #20


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Я имел в виду "описаный баг проявляется в какой из программ?"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V  < 1 2 3 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.4.2024, 7:53