J'essaie de définir des styles pour tous les QLineEdits de mon application. Voici le code:Impossible de définir les propriétés de la feuille de style en utilisant le fichier qss
QLineEdit {
border: none;
padding-bottom: 2px;
border-bottom: 1px solid black;
color: #000000;
background-color:rgba(0,0,0,0);
}
QLineEdit:focus{
border: 0px solid white;
border-bottom: 2px solid #2196F3;
color: #000000;
}
Quand je entrée ce style en utilisant le i.e. GUI en définissant l'option de feuille de style dans l'éditeur de formulaire pour chaque personne lineEdit, cela fonctionne.
Cependant lorsque je tente d'ajouter le même code à l'aide d'un fichier qss dans les ressources, il ne fonctionne pas. J'utilise le code suivant pour appliquer la feuille de style:
#include "mainwindow.h"
#include <QApplication>
#include <QFile>
#include <conio.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// QFile styleFile(":/Stylesheets/QLineEdit.qss");
// styleFile.open(QFile::ReadOnly);
// std::printf("hi0");
// // Apply the loaded stylesheet
// QString style(styleFile.readAll());
// a.setStyleSheet(style);
QFile file(":/Stylesheets/QLineEdit.qss");
file.open(QFile::ReadOnly);
QString styleSheet = QLatin1String(file.readAll());
a.setStyleSheet(styleSheet);
MainWindow w;
w.show();
return a.exec();
}
Quel pourrait être le problème ici?
Edit: Ajout de code pour la QPushButton:
QPushButton, QPushButton:focus {
background-color:#2196F3;
border: none;
color: white;
padding: 3px 20px;
}
QPushButton:hover, QPushButton:hover:focus {
background-color: #1976D2;
border-color: #ffffff;
}
QPushButton:pressed,
QPushButton:pressed:focus {
background-color: #388E3C;
border: none;
color: white;
}
QPushButton:disabled {
color: #cccccc;
background-color: #cccccc;
border: none;
}
Essayez de remplacer 'file.open (QFile :: ReadOnly);' par 'fichier.open (QFile :: ReadOnly | QFile :: Text);' – scopchanov
Alors, cela a-t-il fonctionné? – scopchanov
Je suppose que c'est un bug avec Qt coz J'ai obtenu des résultats différents avec le fichier qss et via l'entrée directement dans la forme ui. Pour ce problème, j'ai essayé avec un autre fichier (nom différent) avec le même contenu et cela a fonctionné. –