【问题标题】:how to work a spacebar key in qline edit using with pyqt4如何使用 pyqt4 在 qlineedit 中使用空格键
【发布时间】:2019-04-15 03:57:39
【问题描述】:

这是我的代码,当我单击空格键按钮时,我想将光标向前移动到行编辑中的一个位置。

如何在行编辑中将光标向前移动一位。

下面是我的代码:

import sys
from pyface.qt import QtGui, QtCore


class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()


        self.initUI()

    def initUI(self):

        self.title = QtGui.QLabel('Title')


        self.titleEdit = QtGui.QLineEdit()
        self.btn = QtGui.QPushButton("spacebar")
        self.btn.clicked.connect(self.spacebar)



        grid = QtGui.QGridLayout()
        grid.setSpacing(10)

        grid.addWidget(self.title, 1, 0)
        grid.addWidget(self.titleEdit, 1, 1)
        grid.addWidget(self.btn, 2, 1)



        self.setLayout(grid)

        self.setGeometry(300, 300, 350, 300)
        self.setWindowTitle('Review')
        self.show()
    def spacebar(self):
        self.titleEdit.cursorForward(True,int=1)

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

【问题讨论】:

  • 空格键是什么意思?你是说 QPushButton 吗?
  • 那最好说QPushButton,你现在的代码有什么问题?
  • 该信息很重要,请将其添加到您的问题中,还是您认为这不相关?
  • 它没有指出你在尝试什么,只是说你想要什么

标签: python python-2.7 pyqt pyqt4


【解决方案1】:

对于这些情况,您必须发送QKeyEvent 并在发送后建立焦点:

def spacebar(self):
    key_event = QtGui.QKeyEvent(QtCore.QEvent.KeyPress, QtCore.Qt.Key_Space, QtCore.Qt.NoModifier, " ")
    QtCore.QCoreApplication.sendEvent(self.titleEdit, key_event)
    QtCore.QTimer.singleShot(0, self.titleEdit.setFocus)

【讨论】:

  • @navyasri for future questions 更加强调你的问题的解释和你的意图的解释,不是每个人都理解你,我们不在你的脑海中,请阅读How to Ask
  • 对不起先生
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-18
  • 1970-01-01
  • 1970-01-01
  • 2010-12-04
  • 2018-01-04
相关资源
最近更新 更多