-1

我试图弄清楚这个错误。我有一个用 Qt Creator 制作的简单应用程序。

我有三个按钮,其中两个未启用。然后,当按下第一个按钮时,我想让它们可见,但是当我按下按钮时,出现 Windows 错误:“程序停止工作”。该程序编译并执行其他所有操作。

QPushButton *dealButton = new QPushButton(tr("Deal cards"));
dealButton->show();

QPushButton *hitButton = new QPushButton(tr("HIT"));
hitButton->show();
hitButton->setEnabled(false);

QPushButton *standButton = new QPushButton(tr("STAND"));
standButton->show();
standButton->setEnabled(false);

...
connect(dealButton, SIGNAL(clicked()), this, SLOT(dealCards()));

...
void MainWindow::dealCards()
{
hitButton->setEnabled(true);
standButton->setEnabled(true);
}

这就是代码。

4

1 回答 1

4

问题是您正在重新声明dealButton构造函数中的其他函数(或具有new您正在显示的调用的任何函数)。

你应该在你的类定义中:

private: // probably
  QPushButton *dealButton;

在您的构造函数或 gui 初始化代码中:

dealButton = new QPushButton(...); // note: not QPushButton *dealButton = ...

您现在所拥有的是创建一个名为dealButton该范围(函数)本地的新变量。该变量正在隐藏(屏蔽)该类的成员。

于 2011-05-28T12:43:17.643 回答