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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Взаимодействие widgets + ui.  (Прочитано 3700 раз)
Vld2
Гость
« : Декабрь 19, 2006, 22:29 »

Есть такая проблемма. Создал главную форму с помощью дизанера, создал класс который наследует её. Например class A:Form
Далее руками создаю собственный виджет и вешаю на форму. B:QWidget
Возникает пару вопросов.
1) приходится делать class A главным. Соответственно он принимает все события. Можно конечно их потом передать в класс B, но хотелось бы, чтобы сам класс B получал события. Как это сделать?
(То есть class A - это чисто форма. Буду работать в основном с B (виджетом). )
2)Как виджет лучше всего разместить на форме? Я сделал сто-то типа этого
Код:

A *rate = new A;
 B *ob= new B(rate,"Paint" );
 
 app.setMainWidget(rate);
 rate->show();
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Декабрь 20, 2006, 00:23 »

на форме будет только один виджет В?
какая Qt? 3 или 4? там по-разному
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Vld2
Гость
« Ответ #2 : Декабрь 20, 2006, 07:31 »

Racheengel, QT3 будет один виджет
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #3 : Декабрь 20, 2006, 09:49 »

Ну так собственно самое простое тогда сделать этот виджет главным окном, и все. А то у тебя: 1. класс формы с 1 виджетом; 2. класс А, его наследующий, и 3. класс В, который собственно и нужен. Qt позволяет ЛЮБОЙ виджет сделать окном Улыбающийся
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Vld2
Гость
« Ответ #4 : Декабрь 21, 2006, 20:56 »

Racheengel, У меня есть MyWidget: Qwidget и соответственно класс формы MyForm:Form.
Что-то не понятно как их наследовать?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #5 : Декабрь 21, 2006, 23:06 »

Просто сделай твой  MyWidget главным. Зачем нужен MyForm в таком случае? В main.cpp создал MyWidget и сделал MyWidget->show(). Все, он сам стал главным окном и начал принимать все события....
Или я что-то не так понял?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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