Radiobuttons sind nicht exclusiv
Radiobuttons sind nicht exclusiv
Ich habe zwei Radiobuttons in einem QGridLayout gruppiert. Beide haben die Eigenschaft 'autoExclusiv = true', aber sie sind nicht exclusiv. d.h. man kan sie beide anwählen und beide abwählen als hätten sie nichts miteinander zu tun.
Was mache ich falsch?
Was mache ich falsch?
Das ist mir schon klar. Nur soll ich jetzt den Designer wegwerfen und alles per Hand coden? Ich suche eine Lösung eine QButtonGroup zu verwenden UND den Designer zu verwenden.upsala hat geschrieben:99% der Qt-Klassen sind nicht im Designer zu finden...
Sollte ich das visuelle Designen wirklich vergessen dürfen, würde ich mich über ein Quellcode Beispiel freuen, da http://doc.trolltech.com/4.3/qbuttongroup.html kein Beispiel enthält.
Oder muss ich einfach nur eine qbuttongroup definieren und die radiobuttons da hinzufügen, egal wie diese in irgentwelchen Layouts eingebettet sind?
offensichtlich nicht, denn einpospiech hat geschrieben: Oder muss ich einfach nur eine qbuttongroup definieren und die radiobuttons da hinzufügen, egal wie diese in irgentwelchen Layouts eingebettet sind?
Code: Alles auswählen
setupUi(this);
buttongroup->addButton(radioButtonNoFFT);
buttongroup->addButton(radioButtonFFT);
Würde mich über ein erklärendes Beispiel sehr freuen.
Wenn ich nun alles per Hand code, dann stehe ich vor dem Problem das mir nicht klar ist wie ich die QButtonGroup einem Layout hinzufüge. Denn Ein Layout erwartet ein widget, welches QButtonGroup nicht ist.
Hier mein bisheriger Code:
Hier mein bisheriger Code:
Code: Alles auswählen
radioButtonNoFFT = new QRadioButton(this);
radioButtonNoFFT->setObjectName(QString::fromUtf8("radioButtonNoFFT"));
radioButtonNoFFT->setChecked(true);
radioButtonFFT = new QRadioButton(this);
radioButtonFFT->setObjectName(QString::fromUtf8("radioButtonFFT"));
buttongroup = new QButtonGroup(this);
buttongroup->addButton(radioButtonNoFFT);
buttongroup->addButton(radioButtonFFT);
gridLayoutButtonGroup = new QGridLayout(this);
gridLayoutButtonGroup->setObjectName(QString::fromUtf8("gridLayoutButtonGroup"));
gridLayoutButtonGroup->addWidget(buttongroup);
gridLayout->addLayout(gridLayoutButtonGroup, 1, 0, 1, 1);
Wenn ich im Designer im RadioButtons hinzufüge und die das selbe Widget als Parent besitzen, sind sie automatisch exklusiv.
Ansonsten, brauchst du die QButtonGroup nicht einem Layout zuzuordnen, da das nichts mit Layouts zu tun hat.
Und den Absturz des ersten Codes würde ich mit einem Debugger mal betrachten.
Im Code wird FFT erwähnt. Wenn damit Fourier gemeint ist, hast du dafür fertigen Code für Qt?
Ansonsten, brauchst du die QButtonGroup nicht einem Layout zuzuordnen, da das nichts mit Layouts zu tun hat.
Und den Absturz des ersten Codes würde ich mit einem Debugger mal betrachten.
Im Code wird FFT erwähnt. Wenn damit Fourier gemeint ist, hast du dafür fertigen Code für Qt?
Ich habe inzwischen herausgefunden, dass ein
ausreicht. Das Abstürzen war mein Fehler. Leider muss ich aber auch sagen, dass die Doku von Trolltech in diesem Punkt unzureichend ist da genau dieses Beispiel fehlt.
Zur FFT, ich benutze FFTW und habe mir einen Wrapper dafür geschrieben, der derzeit von Qt abhängt (QString, QFile, QSettings) wobei es dabei nur zum Speichern und Laden von Optimierungseinstellungen genutzt wird. Die Rechnungen sind Toolkit unabhängig.
Meinen derzeitigen Code habe ich angehangen.
Code: Alles auswählen
buttongroup = new QButtonGroup(this);
buttongroup->addButton(radioButtonNoFFT);
buttongroup->addButton(radioButtonFFT);
Zur FFT, ich benutze FFTW und habe mir einen Wrapper dafür geschrieben, der derzeit von Qt abhängt (QString, QFile, QSettings) wobei es dabei nur zum Speichern und Laden von Optimierungseinstellungen genutzt wird. Die Rechnungen sind Toolkit unabhängig.
Meinen derzeitigen Code habe ich angehangen.