Russian Qt Forum
Ноябрь 23, 2024, 11:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: как поместить QCanvas на форму, используя Qt Designer  (Прочитано 8919 раз)
piton
Гость
« : Март 07, 2005, 10:46 »

я использую Qt Designer для "рисования" форм, и код стараюсь писать в нем же, потому что все делать с нуля в заголовочеых файлах - у меня ума мало Грустный  но можно ли как нибудь, используя средства Qt Designer поместить на форму QCanvas (и какие-либо другие похожие виджеты, например QBitmap или QImage) в нужном месте?
если нельзя, то скажите, pls, как тогда вообще это сделать, если у меня все заголовочные файлы уже сгенерены designer'ом, и мне туда лезть не очень хочется. можно ли добиться этого, вписав какой-либо код в
void mainform::int(){}
?
Записан
Zigmar
Гость
« Ответ #1 : Март 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 файлах - ИМХО, это хорошо и удобно, только для совсем простых случает и элементарной функциональности. Во всех остальных случаях - горздо удобнее наследоваться от виджите созданного в дизайнере и работать нормально.
Записан
Sergeich
Гость
« Ответ #2 : Март 09, 2005, 15:49 »

Можно написать плагин к дизайнеру. См. в доке по дизайнеру Creating Custom Widgets, раздел Creating Custom Widgets with Plugins.
Записан
Victor007
Гость
« Ответ #3 : Март 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?
Записан
carrygun
Гость
« Ответ #4 : Март 22, 2013, 05:23 »

В контекстном меню объекта на форме есть функция "Преобразовать в...", можно воспользоваться ею.
Записан
Victor007
Гость
« Ответ #5 : Март 22, 2013, 10:19 »

Да, есть пункт "Morph into", но, например, для button он предлагает преобразовать ее только в другие типы кнопок и все. Единственный элемент, который я нашел, близкий к рисованию - это Graphics View, но для него такого пункта ("Morph into") нет. Может, я вообще не там смотрю? Где должен быть QCanvas? Какие элементы рядом с ним?
Записан
carrygun
Гость
« Ответ #6 : Март 22, 2013, 10:28 »

QCanvas это наверняка что-то из 3й версии тулкита.

А насчет дизайнера, то обратите внимание, что есть подменю "Преобразовать в" и просто пункт "Преобразовать в...". Наследуетесь от нужного виджета, переписываете что вам нужно, преобразовываете на форме.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 20.