在Qt中一次为gridLayout中的多个按钮分配相同的操作

时间:2017-06-09 19:04:53

标签: qt qt-designer qpushbutton

我刚刚开始使用Qt Designer,我无法弄清楚如何将相同的动作分配给更多的按钮。我创建了一个17x17的gridLayout,由289个按钮组成。我希望每个按钮,如果点击,更改其文本。有可能吗?

1 个答案:

答案 0 :(得分:1)

您想要将之前选择的按钮的文本复制到另一个按钮,您必须声明我将调用文本的类的属性,所选文本将被保存,我将调用之前选择的按钮{{ 1}},然后每次点击,你必须写下该变量。

previousBtn

我们可以通过text = previousBtn->text(); 函数获取QLayoutItem的所有QGridLayout,然后我们通过widget()函数获取小部件并将其转换为itemAtPosition,将其连接到qobject_cast广告位,获取使用onClicked生成广告的按钮,并将其转换为sender(),然后放置新文字。

<强> *的.h

QPushButton

<强> *。CPP

private:
    QString text;

private slots:
    void onClicked();