crossplatform.ru

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

> QTabBar custom style, QTabBar custom style
zaytsewa
  опции профиля:
сообщение 26.5.2011, 9:17
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 55
Регистрация: 20.4.2011
Пользователь №: 2620

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




Репутация:   0  


Всем привет!
Есть такой вопрос: можно ли задать qss-стиль для каждой вкладки TabBar'a?
то есть нужно для каждой вкладки установить свою картинку.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 8)
silver47
  опции профиля:
сообщение 26.5.2011, 9:30
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 1.4.2010
Пользователь №: 1584

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




Репутация:   6  


гм. А зачем? Есть же метод int insertTab (int index, const QIcon & icon, const QString & text).
"Inserts a new tab with icon icon and text text at position index"

А также int QTabBar::addTab (const QIcon & icon, const QString & text)
"Adds a new tab with icon icon and text text. Returns the new tab's index."

и, наконец, void QTabBar::setTabIcon (int index, const QIcon & icon)
"Sets the icon of the tab at position index to icon."

Сообщение отредактировал silver47 - 26.5.2011, 9:34
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zaytsewa
  опции профиля:
сообщение 26.5.2011, 9:33
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 55
Регистрация: 20.4.2011
Пользователь №: 2620

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




Репутация:   0  


мне надо менять иконки в зависимости от того, выбран таб или нет
причём опять же для каждого таба в состоянии selected будет своя иконка
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
silver47
  опции профиля:
сообщение 26.5.2011, 9:34
Сообщение #4


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 1.4.2010
Пользователь №: 1584

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




Репутация:   6  


void QTabBar::setTabIcon (int index, const QIcon & icon)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zaytsewa
  опции профиля:
сообщение 26.5.2011, 9:55
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 55
Регистрация: 20.4.2011
Пользователь №: 2620

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




Репутация:   0  


спасибо

а можно ещё вопрос?)

есть файл qss-стилей

#Btn:pressed
{
background-image: url(:/Images/btn.png);
}

как можно получить свойство background-image для #Btn:pressed
через property() ??

т.е. мне нужна именно строка с путём к изображению, а не применить этот стиль к кнопке

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zaytsewa
  опции профиля:
сообщение 27.5.2011, 14:38
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 55
Регистрация: 20.4.2011
Пользователь №: 2620

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




Репутация:   0  


а по поводу иконки:

как задать ей размер во весть таб ???
у меня не получилось(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zaytsewa
  опции профиля:
сообщение 30.5.2011, 5:54
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 55
Регистрация: 20.4.2011
Пользователь №: 2620

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




Репутация:   0  


вопрос по поводу доступа к каждой конкретной вкладке остался
вокруг иконки на вкладке появляется рамка, что не нужно...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 30.5.2011, 6:57
Сообщение #8


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

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


zaytsewa, не всё можно поменять при помощи стиля. Пройдено на собственном опыте :) Производи класс и там воюй. Если есть такая возможность, конечно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ruzik
  опции профиля:
сообщение 5.6.2011, 10:10
Сообщение #9


Активный участник
***

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

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




Репутация:   0  


QTabWidget::pane { /* The tab widget frame */
     border-top: 2px solid #C2C7CB;
}

QTabWidget::tab-bar {
     left: 5px; /* move to the right by 5px */
}

/* Style the tab using the tab sub-control. Note that
     it reads QTabBar _not_ QTabWidget */
QTabBar::tab {
     background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                 stop: 0 #E1E1E1, stop: 0.4 #DDDDDD,
                                 stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3);
     border: 2px solid #C4C4C3;
     border-bottom-color: #C2C7CB; /* same as the pane color */
     border-top-left-radius: 4px;
     border-top-right-radius: 4px;
     min-width: 8ex;
     padding: 2px;
}

QTabBar::tab:selected, QTabBar::tab:hover {
     background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                 stop: 0 #fafafa, stop: 0.4 #f4f4f4,
                                 stop: 0.5 #e7e7e7, stop: 1.0 #fafafa);
}

QTabBar::tab:selected {
     border-color: #9B9B9B;
     border-bottom-color: #C2C7CB; /* same as pane color */
}

QTabBar::tab:!selected {
     margin-top: 2px; /* make non-selected tabs look smaller */
}

Если что
http://www.forum.crossplatform.ru/index.ph...10&start=10 // мой редактор qss(alpa версия - пока только для винды линукс на подходе)
http://doc.qt.nokia.com/4.7/stylesheet-examples.html // примеры qss

Сообщение отредактировал ruzik - 5.6.2011, 10:11
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 16.4.2024, 8:07