pyqt - как убрать бодер из виджета в статусбаре? - PullRequest
1 голос
/ 10 марта 2011

Я использую виджеты QLabel для отображения сообщений об ошибках для пользователя в строке состояния.Это работает нормально со следующим кодом:

self.statusbar = self.statusBar()

label = QtGui.QLabel("this is a test error message")
stylesheet = """
QLabel {
font-weight: bold;
color: #FF0000;
}
"""
label.setStyleSheet(stylesheet)
self.statusbar.addWidget(label)

Единственная проблема заключается в том, что виджеты имеют границы вокруг них, от которых я не могу избавиться.Это не является функциональной проблемой, поскольку сообщение все еще видно, но оно выглядит довольно уродливо, и я хотел бы от него избавиться.Я не могу понять, откуда это исходит.Будь то что-то, что мне нужно установить в строке состояния или виджете.Я попытался изменить таблицу стилей для строки состояния и метки, чтобы добавить "border: 0px" безрезультатно.Я попытался установить фрейм меток на label.setFrameShape(QtGui.QFrame.NoFrame), но, похоже, это тоже не так.

У кого-нибудь есть идеи, как мне от него избавиться?

Ответы [ 2 ]

2 голосов
/ 16 марта 2011

Вы делаете это с таблицами стилей. У вас, вероятно, есть такая строка Приложение (argc, argv);

под этим, добавьте один такой: app.setStyleSheet ("QStatusBar :: item {border: 0px solid black};");

и эти надоедливые коробки исчезнут.

0 голосов
/ 11 марта 2011

попробуйте использовать self.statusbar.showMessage('this is a test error message'), так как QStatusBar не предназначен для отображения меток. Если вам нужна большая гибкость, чем эта, вы можете рассмотреть вопрос о создании подкласса QStatusBar и изменении его функции paintEvent на особые метки. Любой из этих подходов будет намного легче поддерживать, чем устанавливать таблицы стилей для каждой метки, которую вы хотите, но в любом случае, но как обычно, YMMV.

для получения дополнительной информации проверьте страницу руководства для QStatusBar

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...