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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: GUI в Qt 4.1.4  (Прочитано 7850 раз)
enola
Гость
« : Август 21, 2006, 17:33 »

Есть пара вопросов по реализации "своего" интерфейса:
[list=1]
  • Как лучше сделать форму не стандартного размера?
  • То же самое с кнопками?
  • Есть ли какой способ реализации выше написанного, чтобы в дезайнере (а еще лучше в интеграторе под MS VS 2005) все данное на экране отображалось, т.е. и форма и кнопки не стандартные?
  • [/list:o]
Записан
SLK
Гость
« Ответ #1 : Август 21, 2006, 18:07 »

Наверно в целом надо тщательно курить QWidget  .... а для нестандартного размера\формы курить QWidget::setGeometry() и QWidget::setMask()

3. Можно, но для своего нестандартного элемента интерфейса нужно делать свой нестандартный плюгин к дизайнеру, иначе никак.
Записан
SLiDER
Гость
« Ответ #2 : Август 21, 2006, 20:10 »

Цитата: "enola"
Есть пара вопросов по реализации "своего" интерфейса:
[list=1]
  • Как лучше сделать форму не стандартного размера?
  • То же самое с кнопками?
  • Есть ли какой способ реализации выше написанного, чтобы в дезайнере (а еще лучше в интеграторе под MS VS 2005) все данное на экране отображалось, т.е. и форма и кнопки не стандартные?
  • [/list:o]


Может я, конечно, идиот, но объясните мне, пожалуйста, что такое кнопки или форма НЕ СТАНДАРТНОГО размера  :!:  :!:  :!:  :?:  :?:  :?:
Записан
enola
Гость
« Ответ #3 : Август 22, 2006, 11:08 »

Цитата: "SLiDER"

...я, конечно, идиот...

мне понравилось  Веселый
Помоги советом, а не прикапывайся к словам, обидеть не хочу, задеть тем более. Стандартные, в моем понимании, это те, что представлены на панели дизайнера, серенькие такие.
Записан
Вудруф
Гость
« Ответ #4 : Август 22, 2006, 11:24 »

Так, я тоже не догоняю. Ключевая фраза: нестандартного РАЗМЕРА.
Записан
enola
Гость
« Ответ #5 : Август 22, 2006, 11:40 »

Народ ну вы что, в самом деле, хотя...
Вот когда, для примера, кладешь на форму кнопку с панели дизайнера, какого она размера?! Вот он для нее стандартный, а скажем круглая кнопка это не стандартный размер!
Записан
SLK
Гость
« Ответ #6 : Август 22, 2006, 12:01 »

Цитата: "enola"
Народ ну вы что, в самом деле, хотя...
Вот когда, для примера, кладешь на форму кнопку с панели дизайнера, какого она размера?! Вот он для нее стандартный, а скажем круглая кнопка это не стандартный размер!


Это не стандартная форма Улыбающийся ... размар можно растянуть и для стандартной кнопки.
Для нестандартной формы виджета (круглой, овальной, треугольной, какой угодно Улыбающийся )   нужно использовать QWidget::setMask()
Записан
enola
Гость
« Ответ #7 : Август 22, 2006, 12:05 »

Тьфу ты, не размер естественно, сорри, форма объекта!!!
Вот ступил.
А махонького примерчика случаем нет, я иммею ввиду setMask()?
Записан
SLK
Гость
« Ответ #8 : Август 22, 2006, 12:13 »

В поставке QT4 есть пример круглой формы QTDIR\examples\widgets\shapedclock
и описание этого примера в документации .... QTDIR\doc\html\widgets-shapedclock.html
Записан
enola
Гость
« Ответ #9 : Август 22, 2006, 12:32 »

Дя я этот пример видел.
А с кнопками тем же способом разбираться?
Записан
SLK
Гость
« Ответ #10 : Август 22, 2006, 13:03 »

По идее да, так как QPushButton наследник QWidget.
Теоритически, для своей нестандартной кнопки лучше будет наследовать свой класс от QAbstractButton и как минимум писать свои paintEvent и resizeEvent где эта кнопка(или что там) будет рисоваться и обрезаться в соответствии с заданым setMask()
Записан
enola
Гость
« Ответ #11 : Август 22, 2006, 13:25 »

А примеры есть?
Записан
SLK
Гость
« Ответ #12 : Август 22, 2006, 19:45 »

Примеров нет таких ... разве что в исходниках самого QT можно посмотреть QPushButton.cpp (наследуется от QAbstractButton).
Нужно делать всё так же, как при наследовании от QWidget (эти примеры есть) просто у QAbstractButton уже есть в наличии все нужные для кнопок свойства, слоты и сигналы.
Записан
enola
Гость
« Ответ #13 : Август 23, 2006, 07:48 »

Спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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