更改对话框按钮';在Qt中运行时的文本

更改对话框按钮';在Qt中运行时的文本,qt,Qt,我有一个名为“开始”的按钮,当它被点击时,一个冗长的操作开始了,我希望它变成一个名为“停止”的按钮。单击时的行为也会发生明显的变化。实现这一点的最佳方法是什么?更改按钮的文本并将“clicked()”信号重新连接到不同的插槽,或者使用两个按钮,然后隐藏“Start”并显示“Stop”。这两个选项都有效。第三个简单的选择是更改按钮文本(更改图标也是一个好主意),并将“状态”(播放/不播放)保存到某个位置。在连接的插槽中,根据当前状态执行正确的操作。(这样你就不必重新连接任何东西) 另一个选项是使用

我有一个名为“开始”的按钮,当它被点击时,一个冗长的操作开始了,我希望它变成一个名为“停止”的按钮。单击时的行为也会发生明显的变化。实现这一点的最佳方法是什么?更改按钮的文本并将“clicked()”信号重新连接到不同的插槽,或者使用两个按钮,然后隐藏“Start”并显示“Stop”。

这两个选项都有效。第三个简单的选择是更改按钮文本(更改图标也是一个好主意),并将“状态”(播放/不播放)保存到某个位置。在连接的插槽中,根据当前状态执行正确的操作。(这样你就不必重新连接任何东西)

另一个选项是使用带有set的按钮。这样,按钮的作用更像是一个切换按钮(第一次单击时保持按下状态,第二次单击时返回),并将其与动态文本/图标更改相结合

如果使用此选项,则应使用信号,而不是
clicked()
one。slot参数告诉您按钮是否处于“活动”状态。(这也可以通过
isChecked()
查询)