私はこのコードを持っています:
bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
if (event->type() == QEvent::KeyPress)
{
if (keyEvent->key() == Qt::Key_Tab)
// do something
}
}
今、私は QTextEdit に入力しています。たとえば、タブ キーを押したとします。次に、QTextEdit にタブが表示されます。しかし、それが起こらないようにしたい場合はどうすればよいでしょうか。たとえば、emacs に精通している場合: 適切な環境 (たとえば C++ モード) では、タブを押すと、行が正しい位置にジャンプします (インデント)。タブをもう一度押しても何も起こりません。これは、コード行が正しい位置にあるためです。
これを行う方法を知っている人はいますか?タブイベントをQTextEditに表示させてから、前の文字(またはそれが定義されているもの)を削除できると思います。