QButtonGroup in eine QBoxLayout packen

Alles rund um die Programmierung mit Qt
Antworten
slash-ex
Beiträge: 239
Registriert: 30. März 2005 21:40

QButtonGroup in eine QBoxLayout packen

Beitrag von slash-ex »

Ich bekomme einen Fehler vom Compiler wenn ich eine ButtonGroup einem QVBoxLayout mit addWidget hinzufügen will :(
Wie kann ich sonnst eine ButtonGroup einem Layout anschließen :?:
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Aber bitte die Fehlermeldung nicht verraten, wir sind ja alle selber schuld, daß wir keine Glaskugel haben...
slash-ex
Beiträge: 239
Registriert: 30. März 2005 21:40

Beitrag von slash-ex »

Ich dachte nur das wäre ein generelles Problem...

Code: Alles auswählen

QNet.cpp: In constructor `QNetConfig::QNetConfig(QWidget*)':
QNet.cpp:14: Fehler: »class QButtonGroup« hat kein Element namens »addWidget«
QNet.cpp:15: Fehler: »class QButtonGroup« hat kein Element namens »addWidget«
QNet.cpp:27: Fehler: keine passende Funktion für Aufruf von »QVBoxLayout::addWidget(QButtonGroup*&)«
/usr/local/Trolltech/Qt-4.1.3/include/QtGui/qboxlayout.h:64: Anmerkung: Kandidaten sind: void QBoxLayout::addWidget(QWidget*, int, Qt::Alignment)
make: *** [QNet.o] Fehler 1
Also, das was ja meine frage ist. Ich brauche eine Funktion, die das ButtonGroup in das Layout packt.

Code: Alles auswählen

QNetConfig::QNetConfig(QWidget *parent) : QWidget(parent)
{
	QVBoxLayout *mainLayout = new QVBoxLayout(this);

	QButtonGroup *ip_but_group = new QButtonGroup();
	auto_ip = new QRadioButton(tr("IP automatisch ermitteln. (DCOP)") );
	own_ip = new QRadioButton(tr("Setze eigene IP.") );
	ip_but_group->addWidget(auto_ip);
	ip_but_group->addWidget(own_ip);

	QNetConfig::create_lanBox();

	QVBoxLayout *dns_but_group = new QVBoxLayout();
	auto_dns = new QRadioButton(tr("DNS automatisch ermitteln.") );
	own_dns = new QRadioButton(tr("Setze eigene DNS-Server.") );
	dns_but_group->addWidget(auto_dns);
	dns_but_group->addWidget(own_dns);

	QNetConfig::create_dnsBox();

	mainLayout->addWidget(ip_but_group);
	mainLayout->addWidget(lan_conf);
	mainLayout->addLayout(dns_but_group);
	mainLayout->addWidget(dns_conf);

	//base presets
	//lan_conf->setEnabled(false);
	//dns_conf->setEnabled(false);

	//connections
	QNetConfig::makeConnections();
}
Ich habe dann auch gleich mal den Code hinzugefügt. Obwohl ich nur wissen wollte wie man eine ButtonGRoup iun ein Layout packt. :cry:

Dann kann ich gleich noch mein anderes Problem äußern. ich habe 2x2QRadioButtons. Also jeweils zwei Paare. Aber anstatt dass ich jeweils einen der zwei markieren kann. werden die anscheinend zu einer 4er Grupe gezählt (es wird nur einer von allen 4en markiert). wie kann ich das richtig stellen?
GroovemasterC
Beiträge: 2
Registriert: 15. Juli 2006 15:27

Beitrag von GroovemasterC »

Das Problem ist, dass QButtonGroup nicht von QWidget erbt. Laut Doku ist QButtonGroup nicht für die Darstellung sondern nur fürs Handling der Buttons geeignet. Also: Die Buttons ganz normal zum Layout hinzufügen und sie davon unabhängig mit der QButtonGroup logisch organisieren.
Zu deinem zweiten Problem: Hast du's schon mit zwei verschiedenen QButtonGroups versucht?
slash-ex
Beiträge: 239
Registriert: 30. März 2005 21:40

Beitrag von slash-ex »

Ach, ich habe einfach zwei QGroupBoxes verwendet.... :?
Antworten