crossplatform.ru

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


  Ответ в QLineEdit изменение вида при смене enabled
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
FantasyOr Дата 10.12.2010, 15:10
  Даааа получилось, однако наука...
очень благодарен Вам за разъяснения
Andrewshkovskii Дата 10.12.2010, 11:40
  Стандарт описания свойств для всех компонентов одинаков.
Я просто использовал сокращенный вариант записи свойства границы, а ты ,в посте , привел вариант с селектором и развернутым вариантом.
А скругление рамки не появляется из-за того, что один из компонентов 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;
}
FantasyOr Дата 10.12.2010, 9:41
  я смотрел вот это 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 Дата 9.12.2010, 23:55
  А не много ли тебе граница-то в 20 пикселей, и закругление радиуса в 10? Поставь меньше! Даже 2 пикселя толщины уже выглядит не красиво :) Вот стандарт почитай о границах в цсс..
Хотя меняться должно.. сейчас проверю : )
Вот так вот будет работать :
QTextEdit{
border : 20px solid black;
color: blue;
border-radius: 10px;
}
FantasyOr Дата 9.12.2010, 13:01
  Разобрался, но не очень =( :

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

синий цвет применяется, а границы не увеличиваются и не скругляются... почему так может быть?
FantasyOr Дата 9.12.2010, 9:42
  Всем спасибо. Разобрался.
Andrewshkovskii Дата 8.12.2010, 20:17
  Вот здесь написано как установить CSS для виджета (в исходнике), либо в дизайнере правой кнопкой по виджету change styleSheet (изменить styleSheet )
Litkevich Yuriy Дата 8.12.2010, 20:15
 
Цитата(FantasyOr @ 8.12.2010, 22:02) *
но CSS мне не знаком, и даже не представляю себе где его ставить
читай доку
FantasyOr Дата 8.12.2010, 20:02
  как говорят в аниме: "nan desu ka" - "шо зо нах (о_О)"
Спасибо большое? но CSS мне не знаком, и даже не представляю себе где его ставить, а средствами Qt можно это решить + нужна не только данная настройка, но более извращенская.
Дайте другой вектор. Готов работать с QStyle, но опять же только знаю, что есть такое.
Andrewshkovskii Дата 8.12.2010, 19:14
  Поставь ему такой CSS :
.QLineEdit{
color : black;
}
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 21:08