QTextEdit笔记

2020-04-20 15:12:26 浏览数 (1)

❝记录QTextEdit的使用笔记。 ❞

焦点捕获

  继承QTextEdit并重写以下函数。

代码语言:javascript复制
/* 获得焦点重载函数 */
void focusInEvent(QFocusEvent *event); 
/* 失去焦点重载函数 */
void focusOutEvent(QFocusEvent *event); 

样式

  • 扁平化样式:
代码语言:javascript复制
QTextEdit {
    border-style: none;
    border-radius: 5px;
    padding: 3px;
    background: transparent;
}
  • 获得焦点时样式:
代码语言:javascript复制
QTextEdit:focus {
    border: 2px solid #3498db;
}

* setEnabled(false)使用样式:
```css
QTextEdit:!enabled {
    color: #525252; 
} 
  • setEnabled(true)使用样式:
代码语言:javascript复制
QTextEdit:enabled {
    color: #525252; 
}

只读与禁用

代码语言:javascript复制
setReadOnly(true)
setEnable(false)

禁用并隐藏滚动条

  禁用并隐藏水平方向的滚动条。

代码语言:javascript复制
horizontalScrollBar()->hide();
horizontalScrollBar()->setEnabled(false);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

  禁用并隐藏垂直方向的滚动条。

代码语言:javascript复制
verticalScrollBar()->hide();
verticalScrollBar()->setEnabled(false);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

设置字体

代码语言:javascript复制
QFont fontt;
font.setFamily("默认");
fontt.setPixelSize(14);
setFont(ft);

根据文本自动调整大小

  1. 建立槽函数onTextChanged
代码语言:javascript复制
void onTextChanged()
{
    QTextDocument *document = this->document();
    if (document) {
        document->adjustSize();
        this->setFixedSize(document->size().toSize());
    }
}
  1. 使用textChanged信号绑定onTextChanged槽函数。
代码语言:javascript复制
connect(pointer, SIGNAL(textChanged()), pointer, SLOT(onTextChanged()));

获取行数

代码语言:javascript复制
document().linecout()

手动设置焦点

代码语言:javascript复制
setFocus(Qt::MouseFocusReason);

0 人点赞