Найти - Пользователи
Полная версия: [PyQt] как сделать горячие клавиши в QTextEdit
Начало » GUI » [PyQt] как сделать горячие клавиши в QTextEdit
1
hlop4ik
Задача:
хочу по нажатию сочетания клавиш например Ctrl+K переместить курсор QTextEdit'а например влево на символ (Ctrl+K = нажатие стрелочки влево)

class MyTextEdit(QtGui.QTextEdit):
def __init__(self, parent):
QtGui.QTextEdit.__init__(self, parent)
self.ctrlIsPressed = False
def keyPressEvent(self, event):
if (event.key() == QtCore.Qt.Key_K) and self.ctrlIsPressed:
# и вот тут надо что то написать, что б курсор передвинулся
# наверное либо сэмулировать нажатие стрелочки
# либо как то програмно передвинуть курсор
else:
QtGui.QTextEdit.keyPressEvent(self, event)
подскажите как быть
Studentik
from PyQt4 import Qt as qt
import sys

app = qt.QApplication(sys.argv)
mw = qt.QMainWindow()
fr = qt.QFrame()
lt = qt.QVBoxLayout()
te = qt.QTextEdit("Some text")
fr.setLayout(lt)
lt.addWidget(te)
mw.setCentralWidget(fr)

ac = qt.QAction("Insert AAA",te)
ac.setShortcut(qt.QKeySequence("Ctrl+K"))
te.addAction(ac)

def on_action_triggered(checked):
tc = te.textCursor()
tc.movePosition(qt.QTextCursor.Left, qt.QTextCursor.MoveAnchor,1)
te.setTextCursor(tc)

ac.triggered.connect(on_action_triggered)

mw.show()
app.exec_()
hlop4ik
спасибо!!!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB