目前我正在使用我自己的自定义小部件,它由QLineEdit
和QPushButton
组成。用户只能在文本字段中输入0到1000之间的整数。单击按钮后,小部件的自定义clicked
信号将在字段中发出值。在
代码如下:
class ResizeWidget(QWidget):
clicked = pyqtSignal(int)
def __init__(self):
super().__init__()
#NumField and Button
self.field = QLineEdit()
self.field.setPlaceholderText("Resize Percentage [0,1000]")
self.resizeButton = QPushButton("Resize")
#Layout
self.lay = QHBoxLayout()
self.setLayout(self.lay)
#Add to Widget
self.lay.addWidget(self.field)
self.lay.addWidget(self.resizeButton)
#Field limits
self.field.setMaxLength(4)
self.field.setValidator(QIntValidator(0,1000))
#Connection
self.resizeButton.clicked.connect(self.onClick)
@pyqtSlot()
def onClick(self):
val = int(self.field.text())
self.clicked.emit(val)
现在我想添加到类中的是,当闪烁的光标|
在文本字段中时,允许用户按enter键。在
我能够找到关于鼠标的一般文档,mouseEvent
和{
我想在init()中添加一些类似的伪代码:
^{pr2}$我知道QLineEdit::returnPressed
在创建正确的函数中起着重要作用,但我只希望enter键在用户使用ResizeWidget时有效。不是我图形用户界面的其他部分。我认为enter键并没有绑定到我整个应用程序中的一个小部件上,但是我有兴趣了解一下。在
只需添加以下行即可:
只要插入符号(闪烁的光标)不在文本字段中,按Enter键就不会引起我的自定义小部件的任何反应。在
相关问题 更多 >
编程相关推荐