Seite 1 von 1
QButtonGroup in eine QBoxLayout packen
Verfasst: 16. Juli 2006 14:37
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

Verfasst: 16. Juli 2006 15:04
von upsala
Aber bitte die Fehlermeldung nicht verraten, wir sind ja alle selber schuld, daß wir keine Glaskugel haben...
Verfasst: 16. Juli 2006 15:42
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.
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?
Verfasst: 16. Juli 2006 18:26
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?
Verfasst: 16. Juli 2006 19:35
von slash-ex
Ach, ich habe einfach zwei QGroupBoxes verwendet....
