crossplatform.ru

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

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> QLineEdit изменение вида при смене enabled
FantasyOr
  опции профиля:
сообщение 8.12.2010, 19:09
Сообщение #1


Студент
*

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

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




Репутация:   0  


Уважаемые, добрый день.
Есть желание, а точнее потребность:
при установке QLineEdit в не редактируемое состояние, шрифт сереет, и становится плохо читаемым на так же посеревшем фоне. Нужно, чтоб цвет шрифта оставался черным.
правильно ли я понимаю, что нужно поработать с QPalette?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 8.12.2010, 19:14
Сообщение #2


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

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

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




Репутация:   1  


Поставь ему такой CSS :
.QLineEdit{
color : black;
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
FantasyOr
  опции профиля:
сообщение 8.12.2010, 20:02
Сообщение #3


Студент
*

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

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




Репутация:   0  


как говорят в аниме: "nan desu ka" - "шо зо нах (о_О)"
Спасибо большое? но CSS мне не знаком, и даже не представляю себе где его ставить, а средствами Qt можно это решить + нужна не только данная настройка, но более извращенская.
Дайте другой вектор. Готов работать с QStyle, но опять же только знаю, что есть такое.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 8.12.2010, 20:15
Сообщение #4


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

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

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




Репутация:   94  


Цитата(FantasyOr @ 8.12.2010, 22:02) *
но CSS мне не знаком, и даже не представляю себе где его ставить
читай доку
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 8.12.2010, 20:17
Сообщение #5


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

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

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




Репутация:   1  


Вот здесь написано как установить CSS для виджета (в исходнике), либо в дизайнере правой кнопкой по виджету change styleSheet (изменить styleSheet )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
FantasyOr
  опции профиля:
сообщение 9.12.2010, 9:42
Сообщение #6


Студент
*

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

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




Репутация:   0  


Всем спасибо. Разобрался.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
FantasyOr
  опции профиля:
сообщение 9.12.2010, 13:01
Сообщение #7


Студент
*

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

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




Репутация:   0  


Разобрался, но не очень =( :

QTextEdit teRout = new QTextEdit(this);
teRout->setStyleSheet("border-width: 20px; color: blue; border-radius: 10px;");

синий цвет применяется, а границы не увеличиваются и не скругляются... почему так может быть?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 9.12.2010, 23:55
Сообщение #8


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

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

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




Репутация:   1  


А не много ли тебе граница-то в 20 пикселей, и закругление радиуса в 10? Поставь меньше! Даже 2 пикселя толщины уже выглядит не красиво :) Вот стандарт почитай о границах в цсс..
Хотя меняться должно.. сейчас проверю : )
Вот так вот будет работать :
QTextEdit{
border : 20px solid black;
color: blue;
border-radius: 10px;
}


Сообщение отредактировал Andrewshkovskii - 10.12.2010, 0:02
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
FantasyOr
  опции профиля:
сообщение 10.12.2010, 9:41
Сообщение #9


Студент
*

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

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




Репутация:   0  


я смотрел вот это http://doc.crossplatform.ru/qt/4.4.3/stylesheet.html

"Единственной проблемой остается отсутствие реакции кнопки при нажатии на нее. Исправим это, указав слегка другой цвет фона и использование другого стиля рамки.
QPushButton#evilButton {
background-color: red;
border-style: outset;
border-width: 2px;
border-radius: 10px;
border-color: beige;
font: bold 14px;
min-width: 10em;
padding: 6px;
}"
не думал, что у кнопки и текстового поля должны быть разные описания рамки.

Код:
teRout->setStyleSheet("border : 1px solid black; color: blue; border-radius: 10px;");

дал такой результат:


видимо есть какие-то ограничения для отображения текста без урезания в закруглениях

Andrewshkovskii, Ваша ссылка очень интересна, сохранил буду пользоваться
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 10.12.2010, 11:40
Сообщение #10


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

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

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




Репутация:   1  


Стандарт описания свойств для всех компонентов одинаков.
Я просто использовал сокращенный вариант записи свойства границы, а ты ,в посте , привел вариант с селектором и развернутым вариантом.
А скругление рамки не появляется из-за того, что один из компонентов QTextEdit-а (а он состоит из нескольких : QWidget, QFrame, QAbstractScrollArea и сам QTextEdit) "налезает" на рамки, и что бы этого не происходило, надо добавить "внутренний отступ" содержимого от рамок (св-во padding) , вот так :
QTextEdit{
border: 1px solid black;
border-radius : 5px;
padding : 2px;
}

Но теперь появилась проблема - этот отступ прозрачен, и через него мы видимо "фон" виджета, на котором расположен наш QTextEdit, что бы убрать это дело, добавим свойство заднего фона для нашего QTextEdit, и теперь это будет выглядеть вот так :
QTextEdit{
border: 1px solid black;
border-radius : 5px;
padding : 2px;
background : white;
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




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