player-none 发表于 4 天前

pyqt如何检测输入框是否被选中?

以下为部分代码。

      self.inputLE = QLineEdit(self)
      self.inputLE.setStyleSheet('''background-color: #292929; border: 0;
border-radius: 5px; padding: 10px;''')
      self.inputLE.resize(760, 45)
      self.inputLE.move(20, 935)
   
    def keyPressEvent(self, event):
      if event.key() == Qt.Key.Key_Return:
            if # 补充这里
                self.send(self.inputLE.text())

FishC 发表于 4 天前

在PyQt中,可以使用QWidget的hasFocus()方法来检测控件是否获得焦点(即被选中)。

具体到你的代码,补充如下:

    def keyPressEvent(self, event):
      if event.key() == Qt.Key.Key_Return:
            if self.inputLE.hasFocus():
                self.send(self.inputLE.text())

这样,只有当输入框获得焦点时按下回车键,才会执行发送操作。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: pyqt如何检测输入框是否被选中?