crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Видоизменить QDial
Гость_Гость_Mdlv_*_*
сообщение 24.12.2015, 15:25
Сообщение #1





Гости








    


Добрый день! Как изменить внешний вид QDial?
Сейчас он выглядит примерно так http://1.bp.blogspot.com/_GE6rJQOJitA/TGRr...t-qtMonitor.png
Нужно добавить деления, изменить ползунок с круглого на черту/стрелку, и, если есть такая возможность - изменить фон на прозрачный (т.е. будут видны только деления и текущее положение на шкале).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 24.12.2015, 18:11
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Если не ошибаюсь, установив стиль Windows XP ты получишь как раз то что тебе нужно.

Для прозрачности как я понимаю нужно будет немного изменить стиль...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_mdlv_*_*
сообщение 25.12.2015, 10:41
Сообщение #3





Гости








    


Цитата(ViGOur @ 24.12.2015, 18:11) *
Если не ошибаюсь, установив стиль Windows XP ты получишь как раз то что тебе нужно.

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


Спасибо, как этот пример смотрел, пробовал, но, если я правильно понимаю, для отдельного виджета нельзя установить такой стиль?

#include <QWindowsXPStyle>

ui->dial->setStyle(new QWindowsXPStyle);


Так ругается, что QWindowsXPStyle undefined symbol.

Если
Цитата
ui->dial->setStyle(new QPlastiqueStyle);

и ничего дополнительно не подключаю:
Не ругается, появляются деления, но ползунок остается таким же.

Хотя, судя по документации http://www.doc.crossplatform.ru/qt/4.5.0/qdial.html#details для этого стиля как раз не должно быть делений.


Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 25.12.2015, 12:28
Сообщение #4


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Тоже верно, тогда есть два варианта:
1. Использовать QwtDial

2. Самому переопределить QDial::paintEvent и там уже рисовать что душе угодно. (смотри пример как это можно сделать: http://dronecolony.com/2012/12/11/customiz...h-qss-support/)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 28.11.2024, 17:04