Спокойная история QPlainTextEdit

Попытайтесь не кодировать текст в свое приложение. Swing guis может быть довольно просто написан, чтобы быть управляемым данными, рассмотреть определение Вашего GUI в XML-файле (включая имена компонентов и положения/атрибуты макета).

я работал над системами, которые имели МНОГО окон свойств (которые являются просто грудами средств управления, страница после страницы их) - не делая это управляемым данными, фактически невозможно поддержать или интернационализировать.

, Если Вы решаете использовать разработчика GUI, никогда не изменяйте код, который это производит, если можно возможно избежать его - лучше связать с GUI от внешнего класса. Думайте о том, что произойдет, если необходимо сделать это без разработчика - это будет трудно к порту? Невозможный?

Понимают глюки в колебании - только изменяющий компоненты графического интерфейса пользователя от потока AWT, возвращая поток AWT как можно быстрее (породите новый поток, если необходимо сделать что-нибудь, что принимает 100 мс),

Стараются изо всех сил сохранять код DRY - Это может быть реальная проблема программирования с графический интерфейсами пользователя Swing - Снова, управляемый данными код является единственным способом, которым я нашел к не постоянно повторный код как новый JButton ("... ");

, Если Ваши данные являются базирующимся окном свойств, серьезно полагайте, что создание обязательного механизма связывает Ваши средства управления с Вашими данными. Хорошей целью для кода DRY были бы 0 (НУЛЕВЫХ) определенных для управления строк кода на управление, чтобы получить часть данных с Вашей базы данных на Ваш GUI, сделать, чтобы пользователь отредактировал его и вернул его к Вашему DB. Это означает, что необходимо смочь добавить новое управление путем выполнения только изменения данных.

9
задан Mykola 23 January 2016 в 20:59
поделиться

5 ответов

Измените палитру редактирования обычного текста. Пример программы:

#include <QApplication>
#include <QPlainTextEdit>

int main(int argc, char* argv[])
{
  QApplication app(argc, argv);

  QPlainTextEdit edit;
  QPalette p = edit.palette();

  p.setColor(QPalette::Active, QPalette::Base, Qt::red);
  p.setColor(QPalette::Inactive, QPalette::Base, Qt::red);

  edit.setPalette(p);

  edit.show();
  return app.exec();
}

Разумеется, можно заменить любой цвет.

14
ответ дан 4 December 2019 в 10:32
поделиться

Если QPlainTextEdit поддерживает таблицы стилей, вы можете сделать это следующим образом:

myPlainTextEdit->setStyleSheet("background-color: yellow");

или

qApp->setStyleSheet("QPlainTextEdit {background-color: yellow}");
3
ответ дан 4 December 2019 в 10:32
поделиться

Немного сбивчиво они называют это ролью, а не цветом / цветом.

https://doc.qt.io/qt-5/qwidget.html#setBackgroundRole

подсказка - если вы не можете найти функцию для определенного элемента управления, нажмите «Показать унаследованные элементы» - наиболее общие настройки находятся в qWidget, который является основой для всего, что отображается на экране.

3
ответ дан 4 December 2019 в 10:32
поделиться

Чтобы изменить фон, вам необходимо изменить палитру вашего QPlainTextEdit и сделать фон видимым:

myPlainTextEdit->setPalette(QPalette(/*Select the constructor you need*/));
myPlainTextEdit->setBackgroundVisible(true);
0
ответ дан 4 December 2019 в 10:32
поделиться

Май если вам нужно вызвать QPlainTextEdit :: setBackgroundVisible (true) .

0
ответ дан 4 December 2019 в 10:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: