Seite 1 von 1

QRadioButton (mit Icon, ohne Text)

Verfasst: 5. September 2007 18:05
von Maha
Hallo,
ich brauche ein wenig Rat:

Wenn ich ein QRadioButton ohne Text aber mit Icon anlege, schneidet es vom Icon rechts senkrecht einen Teil weg.
argRB = new QRadioButton(this);
argRB->setIcon(QIcon(":/images/arg1616.png"));

oder
argRB = new QRadioButton("", this);
argRB->setIcon(QIcon(":/images/arg1616.png"));

Wenn ich aber Taxt mitübergebe, wird das Icon vollständig und korrekt abgebildet:
argRB = new QRadioButton("irgendwas", this);
argRB->setIcon(QIcon(":/images/arg1616.png"));

Ich möchte einen QRadiobutton ohne Text und nur mit Icon.
Ist das nicht vorgesehen?

Danke

Verfasst: 6. September 2007 07:11
von macman
setIconSize() und/oder setMinimumSize()

Verfasst: 6. September 2007 12:36
von Maha
Danke,
nun habe ich folgendes festgestellt:

Mein Icon das ich einbinde hat die Abmessungen 16x16 Pixel.

Gebe ich die Größe vor mit

Code: Alles auswählen

argRB->setIconSize(QSize(16, 16));
kommt es zu dem gleichen oben beschriebenen Problem.

Wähle ich aber die QSize 2 Pixel größer, als das Icon groß ist

Code: Alles auswählen

argRB->setIconSize(QSize(18, 18));
wird das Icon komplett dargestellt.

Gibt es dafür eine Erklärung?

Danke schonmal

Verfasst: 6. September 2007 12:53
von macman
Eine Erklärung kann ich nicht liefern. Vielleicht liegt es am Layout, aber das ist reine Vermutung.

Verfasst: 6. September 2007 13:31
von Maha
Die liegen horizontal in einem Gridlayout mit Spacing 2

Code: Alles auswählen

enemyGB = new QGroupBox("Gegner", this);
enemyGL = new QGridLayout(enemyGB);
enemyGL->setSpacing(2);
	
argRB = new QRadioButton(enemyGB);
argRB->setIcon(QIcon(":/images/arg1616.png"));
argRB->setIconSize(QSize(18, 18));
connect(argRB, SIGNAL(clicked(bool)), this, SLOT(setFrac()));
...
enemyGL->addWidget(argRB, 0, 0, 1, 1, Qt::AlignLeft | Qt::AlignTop);
enemyGL->addWidget(bufRB, 0, 1, 1, 1, Qt::AlignLeft | Qt::AlignTop);
enemyGL->addWidget(stxRB, 0, 2, 1, 1, Qt::AlignLeft | Qt::AlignTop);
...
enemyGB->setLayout(enemyGL);
Gruß Maha