Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » [PyQt] как сделать горячие клавиши в QTextEdit [RSS Feed]

#1 Май 21, 2011 01:45:09

hlop4ik
От:
Зарегистрирован: 2011-05-21
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

[PyQt] как сделать горячие клавиши в QTextEdit

Задача:
хочу по нажатию сочетания клавиш например 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)
подскажите как быть



Офлайн

#2 Май 21, 2011 10:10:49

Studentik
От:
Зарегистрирован: 2009-12-26
Сообщения: 99
Репутация: +  0  -
Профиль   Отправить e-mail  

[PyQt] как сделать горячие клавиши в QTextEdit

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_()



Офлайн

#3 Май 21, 2011 20:39:10

hlop4ik
От:
Зарегистрирован: 2011-05-21
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

[PyQt] как сделать горячие клавиши в QTextEdit

спасибо!!!



Офлайн

  • Начало
  • » GUI
  • » [PyQt] как сделать горячие клавиши в QTextEdit[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version