Попытайтесь не кодировать текст в свое приложение. Swing guis может быть довольно просто написан, чтобы быть управляемым данными, рассмотреть определение Вашего GUI в XML-файле (включая имена компонентов и положения/атрибуты макета).
я работал над системами, которые имели МНОГО окон свойств (которые являются просто грудами средств управления, страница после страницы их) - не делая это управляемым данными, фактически невозможно поддержать или интернационализировать.
, Если Вы решаете использовать разработчика GUI, никогда не изменяйте код, который это производит, если можно возможно избежать его - лучше связать с GUI от внешнего класса. Думайте о том, что произойдет, если необходимо сделать это без разработчика - это будет трудно к порту? Невозможный?
Понимают глюки в колебании - только изменяющий компоненты графического интерфейса пользователя от потока AWT, возвращая поток AWT как можно быстрее (породите новый поток, если необходимо сделать что-нибудь, что принимает 100 мс),
Стараются изо всех сил сохранять код DRY - Это может быть реальная проблема программирования с графический интерфейсами пользователя Swing - Снова, управляемый данными код является единственным способом, которым я нашел к не постоянно повторный код как новый JButton ("... ");
, Если Ваши данные являются базирующимся окном свойств, серьезно полагайте, что создание обязательного механизма связывает Ваши средства управления с Вашими данными. Хорошей целью для кода DRY были бы 0 (НУЛЕВЫХ) определенных для управления строк кода на управление, чтобы получить часть данных с Вашей базы данных на Ваш GUI, сделать, чтобы пользователь отредактировал его и вернул его к Вашему DB. Это означает, что необходимо смочь добавить новое управление путем выполнения только изменения данных.
Измените палитру редактирования обычного текста. Пример программы:
#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();
}
Разумеется, можно заменить любой цвет.
Если QPlainTextEdit поддерживает таблицы стилей, вы можете сделать это следующим образом:
myPlainTextEdit->setStyleSheet("background-color: yellow");
или
qApp->setStyleSheet("QPlainTextEdit {background-color: yellow}");
Немного сбивчиво они называют это ролью, а не цветом / цветом.
https://doc.qt.io/qt-5/qwidget.html#setBackgroundRole
подсказка - если вы не можете найти функцию для определенного элемента управления, нажмите «Показать унаследованные элементы» - наиболее общие настройки находятся в qWidget, который является основой для всего, что отображается на экране.
Чтобы изменить фон, вам необходимо изменить палитру вашего QPlainTextEdit и сделать фон видимым:
myPlainTextEdit->setPalette(QPalette(/*Select the constructor you need*/));
myPlainTextEdit->setBackgroundVisible(true);
Май если вам нужно вызвать QPlainTextEdit :: setBackgroundVisible (true)
.