在运行时添加 QRadioButtons

发布于 2024-07-30 20:58:09 字数 54 浏览 5 评论 0原文

如何在运行时在 QFrame 中添加 QRadioButtons?

谢谢。

How i can add QRadioButtons in a QFrame on runtime?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

落花随流水 2024-08-06 20:58:10

通过调用 addWidget() 方法将小部件添加到适当的位置,例如:

ui->someLayout->addWidget(widgetToAdd);

只需确保在主 (UI) 线程中执行此操作即可。

Add the widget to the appropriate place by calling the addWidget() method, such as:

ui->someLayout->addWidget(widgetToAdd);

Just make sure you do this in your main (UI) thread.

梦纸 2024-08-06 20:58:10

您可以像运行前一样在运行时添加 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();
}

在此代码中,radioButton 在运行时创建(在槽函数 radioAdd 中)。 在您的情况下,不是将 QRadioButton 添加到 wigdet 布局中,而是将它们添加到 QFrame 中。

you can add a QRadioButtons on runtime normally in the same way you do before runtime.
you create the QRadioButton dynamically and call the addWidget method of QFrame layout.
if you are not ableto do it, post the code and let me show you.

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();
}

in this code the radioButton get created in the runtime (in the slot function radioAdd). and in your case, instead of adding QRadioButton into the wigdet layout you add them into QFrame.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文