QLineEdit изменение вида при смене enabled |
Здравствуйте, гость ( Вход | Регистрация )
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 :
|
|
|
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
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
но 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 пикселя толщины уже выглядит не красиво Вот стандарт почитай о границах в цсс..
Хотя меняться должно.. сейчас проверю : ) Вот так вот будет работать :
Сообщение отредактировал 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, что бы убрать это дело, добавим свойство заднего фона для нашего QTextEdit, и теперь это будет выглядеть вот так :
|
|
|
Текстовая версия | Сейчас: 27.12.2024, 13:43 |