ランタイム時にQFrameにQRadioButtonを追加する方法はありますか?ランタイムでQRadioButtonsを追加する
ありがとうございました。ちょうどあなたがあなたのメイン(UI)スレッドでこれを行うことを確認してください
ui->someLayout->addWidget(widgetToAdd);
:
ランタイム時にQFrameにQRadioButtonを追加する方法はありますか?ランタイムでQRadioButtonsを追加する
ありがとうございました。ちょうどあなたがあなたのメイン(UI)スレッドでこれを行うことを確認してください
ui->someLayout->addWidget(widgetToAdd);
:
は、次のような、addWidget()
メソッドを呼び出すことによって、適切な場所にウィジェットを追加します。
ランタイムの前に実行するのと同じ方法で、QRadioButtonsをランタイムに追加することができます。 QRadioButtonを動的に作成し、QFrameレイアウトのaddWidgetメソッドを呼び出します。 もしあなたがそれをやっていないのであれば、コードを投稿して私にあなたを見せてください。ラジオボタンは、実行時に作成されます。このコードで
mainwindow.h
#include <QtGui/QMainWindow>
#include <QPushButton>
#include <QHBoxLayout>
#include <QRadioButton>
class MainWindow : public QMainWindow
{
Q_OBJECT
QHBoxLayout * layout;
QPushButton * button;
public:
MainWindow(QWidget *parent = 0);
public slots:
void radioAdd();
};
mainwindow.cpp
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
layout = new QHBoxLayout(this);
QWidget * w = new QWidget(this);
w->setLayout(layout);
this->setCentralWidget(w);
button = new QPushButton(QString("push"),this);
layout->addWidget(button);
connect(button,SIGNAL(clicked()), this, SLOT(radioAdd()));
}
void MainWindow::radioAdd() {
QRadioButton * radio = new QRadioButton("Search from the &cursor", this);
layout->addWidget(radio);
}
main.cppに
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
(スロット機能radioAddで)。あなたのケースでは、QRadioButtonをwigdetレイアウトに追加するのではなく、それらをQFrameに追加します。