Hallo,
ich beschäftige mich gerade mit den Stylesheet-Möglichkeiten von Qt. Dazu habe ich ein einfaches Testprogramm erstellt, in dem ich einem QWidget ein Gridlayout zugewiesen habe. In diesem Layout schieben ich pro Row jeweils 2 QLabel rein. Diesen Labels möchte ich nun die Breite per CSS zuweisen. In meiner CSS-Datei steht dazu:
Code: Alles auswählen
QLabel#label_name {
background-color: red;
color: black;
width: 50px;
}
QLabel#label_value {
background-color: blue;
color: white;
width: 150px;
}
Wäre für jeden Tipp dankbar
Gruß
Uwe
Nachtrag: Falls der Quellcode vom Testprogramm gebraucht wird:
Code: Alles auswählen
#include <QtGui>
#include "css.h"
Ccss::Ccss()
{
createMenu();
QFile file;
file.setFileName("f:/test_css/style.css");
file.open(QFile::ReadOnly);
_scrollArea = new QScrollArea;
QString styleSheet = QLatin1String(file.readAll());
qApp->setStyleSheet(styleSheet);
_scrollWidget = new QWidget();
_scrollWidget->setObjectName("scroll_widget");
QGridLayout *layout = new QGridLayout();
QLabel *title = new QLabel;
title->setObjectName("label_title");
title->setFrameStyle(QFrame::StyledPanel);
title->setText("Label Titel Label Titel Label Titel");
layout->addWidget(title, 0, 0, 1, -1);
QLabel *name = new QLabel;
name->setObjectName("label_name");
name->setFrameStyle(QFrame::StyledPanel);
name->setText("Label Name");
layout->addWidget(name, 1, 0);
QLabel *value = new QLabel;
value->setObjectName("label_value");
value->setFrameStyle(QFrame::StyledPanel);
value->setText("Label Value");
layout->addWidget(value, 1, 1);
_scrollWidget->setLayout(layout);
_scrollArea->setWidget(_scrollWidget);
setCentralWidget(_scrollArea);
setWindowTitle(tr("CSS-Test"));
resize(500, 400);
}
void Ccss::createMenu()
{
QMenu *fileMenu;
fileMenu = menuBar()->addMenu(tr("&File"));
QAction *reload = new QAction(tr("&Reload"), this);
connect(reload, SIGNAL(triggered()), this, SLOT(reload()));
QAction * exit = new QAction(tr("&Beenden"), this);
connect(exit, SIGNAL(triggered()), this, SLOT(quit()));
fileMenu->addAction(reload);
fileMenu->addAction(exit);
}
void Ccss::quit()
{
qApp->quit();
}
void Ccss::reload()
{
QFile file;
file.setFileName("f:/test_css/style.css");
file.open(QFile::ReadOnly);
QString styleSheet = QLatin1String(file.readAll());
qApp->setStyleSheet(styleSheet);
}