Название: как поместить QCanvas на форму, используя Qt Designer Отправлено: piton от Март 07, 2005, 10:46 я использую Qt Designer для "рисования" форм, и код стараюсь писать в нем же, потому что все делать с нуля в заголовочеых файлах - у меня ума мало :( но можно ли как нибудь, используя средства Qt Designer поместить на форму QCanvas (и какие-либо другие похожие виджеты, например QBitmap или QImage) в нужном месте?
если нельзя, то скажите, pls, как тогда вообще это сделать, если у меня все заголовочные файлы уже сгенерены designer'ом, и мне туда лезть не очень хочется. можно ли добиться этого, вписав какой-либо код в void mainform::int(){} ? Название: как поместить QCanvas на форму, используя Qt Designer Отправлено: Zigmar от Март 07, 2005, 15:57 Ну QCanvas вообще нельзя добавить на форму, потому что это не графический класс. Но можно QCanvasView. Но его нет в стандартных виджетах в дезайере, как и QStatusBar и еще парочки.
Но это очень легко исправить, если добавить их как "Custom Widget". Идешь в Tools->Custom->Edit custom widgets. New Widget class: QCanvasView headerfile: qcanvas.h (global) size policy: expanding/expanding Ттаким образом можно добавить любой недостающий или свой виджет в дизайнере. Если ты хочешь из дизайнера еще и сигналы к нему подключать, то нужно в том-же редакторе их объявить. А на счет писания в *.ui.h файлах - ИМХО, это хорошо и удобно, только для совсем простых случает и элементарной функциональности. Во всех остальных случаях - горздо удобнее наследоваться от виджите созданного в дизайнере и работать нормально. Название: как поместить QCanvas на форму, используя Qt Designer Отправлено: Sergeich от Март 09, 2005, 15:49 Можно написать плагин к дизайнеру. См. в доке по дизайнеру Creating Custom Widgets, раздел Creating Custom Widgets with Plugins.
Название: Re: как поместить QCanvas на форму, используя Qt Designer Отправлено: Victor007 от Март 21, 2013, 17:49 Ну QCanvas вообще нельзя добавить на форму, потому что это не графический класс. Но можно QCanvasView. Но его нет в стандартных виджетах в дезайере, как и QStatusBar и еще парочки. Но это очень легко исправить, если добавить их как "Custom Widget". Идешь в Tools->Custom->Edit custom widgets. New Widget class: QCanvasView headerfile: qcanvas.h (global) size policy: expanding/expanding Ттаким образом можно добавить любой недостающий или свой виджет в дизайнере. Если ты хочешь из дизайнера еще и сигналы к нему подключать, то нужно в том-же редакторе их объявить. А на счет писания в *.ui.h файлах - ИМХО, это хорошо и удобно, только для совсем простых случает и элементарной функциональности. Во всех остальных случаях - горздо удобнее наследоваться от виджите созданного в дизайнере и работать нормально. Пробую сделать, как Вы сказали, иду в tools, но никаких custom там не вижу. Может быть, сейчас уже более новая версия qt (у меня 4.2). Как там создавать custom widgets? Название: Re: как поместить QCanvas на форму, используя Qt Designer Отправлено: carrygun от Март 22, 2013, 05:23 В контекстном меню объекта на форме есть функция "Преобразовать в...", можно воспользоваться ею.
Название: Re: как поместить QCanvas на форму, используя Qt Designer Отправлено: Victor007 от Март 22, 2013, 10:19 Да, есть пункт "Morph into", но, например, для button он предлагает преобразовать ее только в другие типы кнопок и все. Единственный элемент, который я нашел, близкий к рисованию - это Graphics View, но для него такого пункта ("Morph into") нет. Может, я вообще не там смотрю? Где должен быть QCanvas? Какие элементы рядом с ним?
Название: Re: как поместить QCanvas на форму, используя Qt Designer Отправлено: carrygun от Март 22, 2013, 10:28 QCanvas это наверняка что-то из 3й версии тулкита.
А насчет дизайнера, то обратите внимание, что есть подменю "Преобразовать в" и просто пункт "Преобразовать в...". Наследуетесь от нужного виджета, переписываете что вам нужно, преобразовываете на форме. |