crossplatform.ru

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


  Ответ в mdiArea как работать с виджетами
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
electronik Дата 4.3.2013, 13:02
  Странно, пробовал так, но почему то не работало, а сейчас заработало. Спасибо!
lanz Дата 4.3.2013, 12:30
 
residuesCenterForm widget(this);
residuesFilialForm widget(this);


Нельзя создавать виджет на стеке. Нужно в куче:
residuesCenterForm *widget = new residuesCenterForm;
electronik Дата 4.3.2013, 12:20
  В том то и дело что у меня не работает, диалоги работают, а виджеты нет.
Сделал новы

Сделал новый класс, файлики появились, через дизайнер накидал виджеты , вывожу виджет, а он пустой.
Вот и спрашиваю как, раз пустой может как то не так вызываю его?

Вот исходники что бы было понятней.
Алексей1153 Дата 3.3.2013, 22:30
  я не понимаю вопрос.

что значит "вывести виджет" ?

Когда визард (или ты сам, вручную) создаёт класс формы, в проекте появляются файлы с именем класса - h, cpp, ui

чтобы где-то иметь доступ к описанию класа, инклудишь заголовочник этого класса. И вперёд )
electronik Дата 2.3.2013, 18:05
  А как мне вывести виджет созданные через QtCreator?
Создаю "Класс формы Qt Desinger", выбираю "Widget". Как с ними работать? Или все виджеты в ручную создавать?
Алексей1153 Дата 1.3.2013, 19:49
  electronik, на куче - это оператором new. Смотри самый первый пост этой темы, верхний блок кода - там всё правильно
electronik Дата 26.2.2013, 18:29
  [quote]потому что нужно на куче создавать такой виджет[/quote
Это как?
И еще, виджет вызывается, но почему то пустой.
Алексей1153 Дата 26.2.2013, 18:24
  потому что нужно на куче создавать такой виджет, ведь show() - не модальный режим показа

    residuesCentrWidget* widget=residuesCentrWidget(this);
    mdiArea->addSubWindow(widget);
    widget->show();


почему не упало - загадка :) Скорее всего, просто виджет пропал без последствий с заботливой подачи Qt
electronik Дата 26.2.2013, 18:15
  Спасибо! Заработало!!!
Ничего не упало. А почему должно было упасть?
Алексей1153 Дата 26.2.2013, 18:00
  mdiArea->addSubWindow(&widget);

а ему указатель надо, а не ссылку

только у тебя после выхода из функции всё упадёт ) Догадаешься, почему ?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 25.4.2024, 21:00