Я работаю над таблицей стилей QWizard
и хочу удалить горизонтальную линию чуть выше кнопки.
Я уже разместил минимальный пример здесь ,вопрос был решен Скопчановым из минимального примера, но у меня есть несколько строк кода в моем проекте, которые избегают решения, поэтому я выкладываю еще один вопрос здесь.
![Screenshot](https://i.stack.imgur.com/R4XNf.png)
Вот мой код ( полный пример сборки можно скачать из gist здесь ):
licensewizard.h
#include <QWizard>
class LicenseWizard : public QWizard {
Q_OBJECT
public:
LicenseWizard(QWidget *parent = 0);
};
licensewizard.cpp
#include <QApplication>
#include <QtWidgets>
#include "licensewizard.h"
LicenseWizard::LicenseWizard(QWidget *parent) : QWizard(parent) {
setWizardStyle(ModernStyle);
// solution from @scopchanov https://stackoverflow.com/a/52541248/8570451
QPalette p(palette());
p.setColor(QPalette::Mid, p.color(QPalette::Base));
setPalette(p);
}
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// this line breaks @scopchanov solution.
// replace QLabel by QPushButton, or anything else... still broken.
qApp->setStyleSheet("QLabel { color:black; }");
LicenseWizard wizard;
wizard.show();
return app.exec();
}
Как сказал Скопчанов, я использовал трюк QPalette
.Но у меня есть большая таблица стилей, определенная в qApp, и это является причиной моей проблемы.Использование очень маленького стиля создает ту же проблему.
Шаг для воспроизведения - добавить эту строку после объявления QApplication
:
qApp->setStyleSheet("QLabel { color:black; }");
Я надеюсь, что кто-то может мне помочь.