crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Нестандартная отрисовка окна
maxvanceffer
  опции профиля:
сообщение 6.6.2009, 23:55
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 72
Регистрация: 30.5.2009
Из: Moldova
Пользователь №: 790

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вообщем такая вот проблема !

Программа создана в кт креатере из щаблона QtDialog.

И в папке с qt есть пример с нестондартным видом окна. Пытаюсь применить тоже самое к моему проекту не выходит ничего.

Помогите плз. Может кто какие способы знает отрисовать форму не стондартно. Всмысле есть картинка и чтоб форма принемала её размеры и округлености.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 7.6.2009, 0:10
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Смотри в сторону
Цитата
void QWidget::setMask ( const QBitmap & bitmap )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maxvanceffer
  опции профиля:
сообщение 7.6.2009, 0:23
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 72
Регистрация: 30.5.2009
Из: Moldova
Пользователь №: 790

Спасибо сказали: 0 раз(а)




Репутация:   0  


Типа я так понемаю надо сделать форму без обрамления системы а потом атрисовать ...?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 7.6.2009, 0:29
Сообщение #4


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Скачай книгу Макса Шлее - "Qt4. Профессиональное программирование на с++". Глава 19, "создание нестандартного окна виджета"

Или посмотри этот примерчик
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 7.6.2009, 1:05
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


maxvanceffer, на русский язык поднажать надо бы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 7.6.2009, 1:13
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Да и гуглом научится пользоваться :)

http://vingrad.ru/blogs/sabrog/2009/01/10/...u-v-okno-legko/
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maxvanceffer
  опции профиля:
сообщение 7.6.2009, 1:24
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 72
Регистрация: 30.5.2009
Из: Moldova
Пользователь №: 790

Спасибо сказали: 0 раз(а)




Репутация:   0  


Да на буке просто клава итольянская и у меня в городе уже 3 час ночи.


А из гугла примерчик пробовал уже, там столько ошибак вылетела .....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maxvanceffer
  опции профиля:
сообщение 7.6.2009, 16:53
Сообщение #8


Студент
*

Группа: Участник
Сообщений: 72
Регистрация: 30.5.2009
Из: Moldova
Пользователь №: 790

Спасибо сказали: 0 раз(а)




Репутация:   0  


Во общем со вчера пытаюсь это сделать. Пытаюсь хотя бы форму закруглить вот код :

    QPainter painter;
    painter.begin(this);
    painter.drawRoundRect(1,1,512,300,6,6);
    painter.end();


Но входе программы выдаёт такую ошибку :
Цитата
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::end: Painter not active, aborted



Почему он не активен ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 7.6.2009, 17:16
Сообщение #9


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


maxvanceffer, ты хотя бы посмотрел на примеры, ссылки на которые тебе уже дали выше. Там есть все что ты ищешь. Да и сами примеры дастаточно не сложные.

Цитата(maxvanceffer @ 7.6.2009, 2:24) *
Пытаюсь хотя бы форму закруглить вот код
Чтобы нарисовить на виджете что либо, нужно переопределить paintEvent, или установить фильтр событий. В любом случае то что ты делаешь не имеет никакого отношения к твоей проблеме - "Создание нестандартного окна".
Повторюсь еще раз, использай метод setMask, и посмотри на те примеры которые тебе указали.

Сообщение отредактировал igor_bogomolov - 7.6.2009, 17:25
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maxvanceffer
  опции профиля:
сообщение 8.6.2009, 22:25
Сообщение #10


Студент
*

Группа: Участник
Сообщений: 72
Регистрация: 30.5.2009
Из: Moldova
Пользователь №: 790

Спасибо сказали: 0 раз(а)




Репутация:   0  


Блин все выходные убил на это))) А в понедельник пришёл на работу заметил маленькую ошибочку подправил и всё стало как надо ))) Сорри ребята что напряг да это действительно просто.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 1:41