QT:如何在发出信号时创建新按钮

时间:2013-04-11 20:17:57

标签: c++ qt signals slot qpushbutton

我想创建一个SLOT(),只要从我的Gui上的特定PushButton发出SIGNAL(clicked()),就会在我的Gui(在同一帧上)创建一个QPushButton(或QLineEdit)小部件。例如:当我按下“退出”时,同一帧上会出现一个新的“谢谢”按钮。

那么,如何使用c ++代码而不是Qt-GUI工具创建新的PushButton?

1 个答案:

答案 0 :(得分:3)

当然,您可以创建小部件,例如没有WYSIWYG工具的按钮(例如QtDesinger)

将此代码写入“退出”按钮的插槽中:

void ThisWindowClass::exitClicked()
{
  // ...
  QPushButton *thanksButton = new QPushButton(this /*parent widget*/);
  connect(thanksButton, SIGNAL(clicked(bool)), this, SLOT(thanksClicked(bool)));
  // ...
}

你必须有一个名为thanksClicked的插槽方法:

void ThisWindowClass::thanksClicked(bool checked)
{
 // Do something
}