如何让QPushButton点击后可编辑文本?

How to make QPushButton editable text when one click on it?

使用 Python 2.7 和 PyQt4。 所以我需要一种方法来使 QPushButton 的文本在单击时可编辑,就像在 QTextEdit 上一样。

没有内置的方法来编辑按钮,因为你有一个光标并且可以一起输入。

可能最简单的解决方案是调出 QInputDialog。如果感觉太重,您还可以在 QPushButton 上方或旁边放置一个浮动的 QLineEdit。在 <Enter> 上关闭它,并将键入的文本设置为 QPushButton。

如果您确实想要一个可编辑的按钮,则必须继承 QPushButton 并自己实现所需的功能。要开始使用它,您需要重新实现 mousePressEvent() 以启动您的编辑模式。重新实现 keyPressEvent() 来处理击键。如果需要显示光标,重新实现paintEvent()。我手头没有具体的资源来描述你必须做什么,但上面的条款应该足以让你自己查找。