Qt中,如何讓QTextEdit不響應tab事件?
例如有兩個QTextEdit控件,現在焦點在其中一個控件上,按下tab,既不會切換控件焦點,同時也不會移動4位。最暴力的方法就是繼承QTextEdit,重寫事件
void QWidget::keyPressEvent ( QKeyEvent * event )
{
if(event->key == Qt::Key_Tab)
{
return;
}
else
__supper::keyPressEvent (event);
}
如何讓qtextedit動態加載內容
因為要對一段字符串進行多次處理,為了避免多次刷新UI帶來的負擔,肯定是先將數據讀入內存,進行處理,然后一次性更新UI。
所以先調用QTextEdit的toPlainText將文本存入一個QString里。然后就有多種方法了。如果必須考慮行號的話,可以調用QString的split,將數據存入一個QStringList里,這樣就可以得到一個QString的鏈表,每個節點一行,可以快速定位到任意一行。最后處理完是可以調用QStringList的join生產一個QString,再調用QTextEdit的setPlainText存入文本框。
qt中如何向QTextEdit發送一個鼠標滾輪向下滾動一下的事件?
發送按鍵按下事件可以用以下代碼:rnQKeyEvent key(QEvent::KeyPress,Qt::Key_A,Qt::NoModifier);rnQCoreApplication::sendEvent(TextEdit,&key);rnrn那么發送滾輪滾動事件是不是應該是下面的樣子?rnQWheelEvent wheel(……);rnQCoreApplication::sendEvent(TextEdit,&wheel);rn如果是的話括號里應該怎么寫呀?如果不是的話又該怎么實現?rnrn或者可以告訴我如何通過代碼控制QTextEdit使它的內容上下滾動(注意不是上下移動光標)?你的目的是用代碼模擬一個滾輪事件,需要知道此時此刻的滾輪和鍵盤、鼠標等狀態,并且填充到參數列表里面,具體可以參看qt的幫助說明。我這里有個例子,可以模擬滾輪在獲得焦點的控件上發出一個向下滾輪的事件:
QWidget *current_focus_widget;
current_focus_widget = QApplication::focusWidget();//獲得當前焦點的控件
QWheelEvent urWheelEvent(QPoint(current_focus_widget->pos().x(),
current_focus_widget->pos().y()), 8, Qt::NoButton, Qt::NoModifier,
Qt::Vertical);//模擬滾輪,這里要填充比較多的參數
QCoreApplication::sendEvent(this,&urWheelEvent);
void QTextEdit::wheelEvent(QWheelEvent * e)
?
qt qtextedit 怎樣刪除光標前一個字符
下面只是給出一段演示代碼,你需要根據實際情況進行修改
QTextEdit editer;
editer.setText("abcdef");
//獲取當前文本光標
QTextCursor cursor = editer.textCursor();
//將光標移動到文本結尾,便于刪除字符測試,實際上并不需要該步驟
cursor.movePosition(QTextCursor::End);
//判斷當前是否選中了文本,如果選中了文本則取消選中的文本,再刪除前一個字符
if(cursor.hasSelection())
cursor.clearSelection();
//刪除前一個字符
cursor.deletePreviousChar();
//設置當前的光標為更改后的光標
editer.setTextCursor(cursor);
editer.show();
鼠標點至要刪除的字符后面,然后點Backspace!謝謝!
Qt有接收輸入法字符串的事件么,keyPressEvent行不
this->setAttribute(Qt::WA_KeyCompression, true);
可是用輸入法輸入中文后,keyPressEvent進不去
QLineEdit有textChange 信號,關聯這個信號,在槽里面可以接受到字符。
沒有QLineEdit啊
不用打字啊,字符串用作他用
不用控件輸入啊,我只是想獲得輸入的字符串,不過用你的方法,是不是可以搞一個隱藏的QLineEdit讓他獲得焦點,不過左右方向鍵應該會有影響吧
又或者我接收到輸入法的字符串,傳遞給其他窗體;
或者做一個打字練習程序,本來Label里有一些字,打出來的字對比后一樣的話就改變那個字的顏色。。。
打字的過程自己實現,你要實現輸入法?為什么不直接用QTextEdit呢,你的要求用QTextEdit好像全部能實現吧,接收輸入法的字符串, QTextEdit有textChage信號,打字練習,你只要拿label上的字和textEdit上字符進行比較,改變下字體顏色,對的用黑色顯示,錯的是紅色顯示,這是可以實現的,你就是想插入圖片,在輸入字,在插入圖片,textEdit多可以實現。
相關推薦:
集團內資金拆借(集團內部資金拆借是否合法)
勞務外包公司資質(勞務外包公司需要具備什么資質)
國有企業怎么進行改制(中國國有企業改制的方式有哪些)
境內資產境外上市(中國企業境外上市需滿足哪些條件)
股份公司股東變更(股份有限公司可以變更股東嗎)