2013-10-10 47 views
1

默認QPlainTextEdit只有垂直滾動條,我想添加水平滾動條。Qt - 無效使用不完整類型'class QScrollBar' - 將水平滾動條添加到文本編輯部件

我想這(在QMainWindow類的構造函數的代碼)

QPlainTextEdit * editor = new QPlainTextEdit(this); 
QScrollBar * hScroll = new QScrollBar(Qt::Horizontal); 
editor->addScrollBarWidget(hScroll); 
setCentralWidget(editor); 

但構建與錯誤(無效使用不完全類型「類QScrollBar」的)失敗。

回答

1

您可以通過設置自動換行屬性在QPlainTextEdit的Widget輕鬆添加水平滾動條,你的代碼應該是:當線路寬度超過主編

QPlainTextEdit * editor = new QPlainTextEdit(this); 
editor->setLineWrapMode(QPlainTextEdit::NoWrap); 
setCentralWidget(editor); 

QPlainTextEdit::NoWrap模式會自動添加水平滾動條寬度。

+0

但是在寫入長行之前,水平條不可見。有沒有辦法讓默認的滾動條被激活? 謝謝 –

+1

如果編輯器中沒有長行,爲什麼需要滾動條? 僅當內容超出編輯器尺寸時,纔會顯示垂直和水平滾動條。 –