crossplatform.ru

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

4 страниц V  < 1 2 3 4 >  
Ответить в данную темуНачать новую тему
> CommandLinkButton и StyleSheet, фоновая картинка
Алексей1153
  опции профиля:
сообщение 13.1.2011, 20:00
Сообщение #11


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

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

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




Репутация:   34  


Цитата(Litkevich Yuriy @ 12.1.2011, 3:45) *
открыть в строенным в кратор дизайнером файл Qt Designer'а и сохранить, а потом скомпилировать?

неа, не проканало...

Цитата(igor_bogomolov @ 12.1.2011, 11:42) *
Изменить цвет фокуса в Windows с помощью css можно используя свойство background-color (цвет фокуса будет инвертирован). Но это изменит не только цвет рамки фокуса. Дальше зависит от задачи и от предпочтений. Если нужно чтобы фокус не отображался, устанавливаем для виджета focusPolicy равным NoFocus. Либо наследуемся и отрисовываем кнопочку руками, игнорируя фокус (или задав нужный цвет). Еще вариант - создать собственный стиль.


понятно. Будем творить ))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 14.1.2011, 10:10
Сообщение #12


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

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

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




Репутация:   34  


пост #7 - победил. Дело было в том, что в конструкторе класса контрола задавался стиль X. Поэтому он не перекрывался стилем (тоже X, либо дефолтный), который задан диалогу в его, диалога, конструкторе. Вылечил так:

CMainWindow::CMainWindow(QWidget *parent) :QDialog(parent),ui(new Ui::CMainWindow)
{
    ui->setupUi(this);

    const QObjectList OL=children();
    for(int i=0; i<OL.size(); i++)
    {
        QWidget* w=reinterpret_cast<QWidget*>(OL[i]);
        if(w)w->setStyleSheet("");
    }
    
    SetStyle_X();

}


теперь стиль переключается разом :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 18.1.2011, 0:55
Сообщение #13


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

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

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




Репутация:   34  


блин, два дня пытаюсь постичь логику стилей, есть успехи (исли забыть про маты), но кое-что пока ещё далеко за границами понимания. Вот стиль скроллбара, которому придан вид спинконтрола. Никак не могу заставить появиться штатные треугольнички стрелок, а ещё - как им цвет потом задать ? Это в самом конце портянки. Прощу помощи!

Раскрывающийся текст
QScrollBar:vertical
{
     border: 0 0 0 0;
     margin: 0 0 0 0;
     color:#7F5B00;
     background-color: qlineargradient(
            spread: reflect, x1:0.0, y1:0.0, x2:0.0, y2:1.0,
            stop:0.0 #FEFDFC,stop:0.5 #EAE5CD
        );
    max-width: 16px;
    min-width: 16px;
    max-height:23;
    min-height:23;
}

QScrollBar::handle:vertical
{
    background: none;
}

QScrollBar::add-page:vertical,
QScrollBar::sub-page:vertical
{
    background: none;
}

/*верхняя кнопка*/
QScrollBar::sub-line:vertical
{
    border-color: #ff0000;
    border-style: solid;
    border-width: 1;
    border-bottom-width: 1;

    border-top-left-radius: 4px;
    border-top-right-radius: 4px;

    subcontrol-origin: border;
    subcontrol-position: left top;
    bottom: +0;
    top: +0;
    width: 14px;
    height:10;
}


/*нижняя кнопка*/
QScrollBar::add-line:vertical
{
    border-color: #550000;
    border-style: solid;
    border-width: 1;
    border-top-width: 1;

    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;

    subcontrol-origin: border;
    subcontrol-position: left top;
    bottom: +11;
    top: +11;
    width: 14px;
    height:10;
}

/*реакция кнопок на мышепасс*/
QScrollBar::sub-line:vertical:hover,
QScrollBar::add-line:vertical:hover
{
     background-color: qlineargradient(
            spread: reflect, x1:0.0, y1:0.0, x2:0.0, y2:1.0,
            stop:0.0 #00ff00,stop:0.5 #00ff00
        );
}

/*реакция кнопок на мышекнопки*/
QScrollBar::sub-line:vertical:pressed,
QScrollBar::add-line:vertical:pressed
{
     background-color: qlineargradient(
            spread: reflect, x1:0.0, y1:0.0, x2:0.0, y2:1.0,
            stop:0.0 #ff0000,stop:0.5 #ff0000
        );
}

/*картинка стрелки вверх*/
QScrollBar::up-arrow:vertical
{
/*что тут надо ?*/
}

/*картинка стрелки вниз*/
QScrollBar::down-arrow:vertical
{
/*что тут надо ?*/
}


Сообщение отредактировал Алексей1153 - 18.1.2011, 0:56
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 18.1.2011, 8:59
Сообщение #14


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

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

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




Репутация:   29  


Цитата(Алексей1153 @ 18.1.2011, 0:55) *
Никак не могу заставить появиться штатные треугольнички стрелок, а ещё - как им цвет потом задать ?
Через qss никак. Тем более задать им цвет. Единственное что могу тут предложить, это попробовать разместить на их месте картинку используя image: url()
Да и к чему такие извращения. Просто для ознакомления, или реальная задача? Если реальная, я бы забил на qss и использовал QProxyStyle, либо написал свой виджет (от задачи зависит)

P.S. Вообще изменение стилей (т.е. использование qss) считаю дурным тоном.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 18.1.2011, 9:35
Сообщение #15


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

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

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




Репутация:   34  


igor_bogomolov, реальная задача - имитация контролов X-программы . Да я хоть чего уже рад использовать после знакомства с этим qss ))) Отрисовать самому можно. Но хотелось бы сейчас понять через стили

QProxyStyle - щас гляну, спасибо

Цитата(igor_bogomolov @ 18.1.2011, 10:59) *
P.S. Вообще изменение стилей (т.е. использование qss) считаю дурным тоном.

гы, что-то мне это напоминает ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 18.1.2011, 9:43
Сообщение #16


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

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

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




Репутация:   29  


Цитата(Алексей1153 @ 18.1.2011, 9:35) *
реальная задача - имитация контролов X-программы
Может тогда проще задачу обрисовать, какие "контролы" пытаешься получить?

Цитата(Алексей1153 @ 18.1.2011, 9:35) *
гы, что-то мне это напоминает ;)
что? не понял шутки?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 18.1.2011, 9:54
Сообщение #17


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

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

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




Репутация:   34  


Цитата(igor_bogomolov @ 18.1.2011, 11:43) *
Может тогда проще задачу обрисовать, какие "контролы" пытаешься получить?


попозже :)

Сообщение отредактировал Алексей1153 - 18.1.2011, 9:55
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.1.2011, 18:28
Сообщение #18


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

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

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




Репутация:   94  


Цитата(Алексей1153 @ 18.1.2011, 11:35) *
Отрисовать самому можно. Но хотелось бы сейчас понять через стили
Цитата(igor_bogomolov @ 18.1.2011, 10:59) *
картинку используя image: url()
Игорь и говорит о стилях
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 20.1.2011, 19:08
Сообщение #19


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

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

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




Репутация:   34  


уж и натрахалсо я со стилями :)) Но победил. На самом деле не очень то и сложно всё (блин, кстати, забыл глянуть класс QProxyStyle), просто внимательнее надо с ними. Ну и логика не везде одинаковая - рыться в мануале по классу нужно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 20.1.2011, 21:06
Сообщение #20


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

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

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




Репутация:   94  


Цитата(Алексей1153 @ 20.1.2011, 21:08) *
Но победил.
рассказывай, показывай.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

4 страниц V  < 1 2 3 4 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




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