43 lines
952 B
C++
43 lines
952 B
C++
// completertextedit.h
|
||
#ifndef COMPLETERTEXTEDIT_H
|
||
#define COMPLETERTEXTEDIT_H
|
||
|
||
#include <QTextEdit>
|
||
#include <QString>
|
||
#include "WellLogUI.h"
|
||
QT_BEGIN_NAMESPACE
|
||
|
||
class QCompleter;
|
||
|
||
QT_END_NAMESPACE
|
||
|
||
class OSGWELLLOGUI_EXPORT CompleterTextEdit : public QTextEdit
|
||
{
|
||
Q_OBJECT
|
||
public:
|
||
explicit CompleterTextEdit(QWidget *parent = 0);
|
||
~CompleterTextEdit()
|
||
{
|
||
// if(m_completer) delete m_completer;
|
||
}
|
||
void setCompleter(QCompleter *completer);
|
||
QCompleter * GetCompleter();
|
||
|
||
protected:
|
||
void keyPressEvent(QKeyEvent *e); // 响应按键盘事件
|
||
void keyReleaseEvent(QKeyEvent *e);
|
||
virtual void mousePressEvent(QMouseEvent *e);
|
||
|
||
private slots:
|
||
void onCompleterActivated(const QString &completion); // 响应选中QCompleter中的选项后,QCompleter发出的activated()信号
|
||
|
||
private:
|
||
QString wordUnderCursor(); // 获取当前光标所在的单词
|
||
|
||
private:
|
||
QCompleter *m_completer;
|
||
|
||
};
|
||
|
||
#endif // COMPLETERTEXTEDIT_H1
|