QTextEdit笔记

❝记录QTextEdit的使用笔记。 ❞

焦点捕获

  继承QTextEdit并重写以下函数。

/* 获得焦点重载函数 */
void focusInEvent(QFocusEvent *event); 
/* 失去焦点重载函数 */
void focusOutEvent(QFocusEvent *event); 

样式

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

* setEnabled(false)使用样式:
```css
QTextEdit:!enabled {
    color: #525252; 
} 
  • setEnabled(true)使用样式:
QTextEdit:enabled {
    color: #525252; 
}

只读与禁用

setReadOnly(true)
setEnable(false)

禁用并隐藏滚动条

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

horizontalScrollBar()->hide();
horizontalScrollBar()->setEnabled(false);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

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

verticalScrollBar()->hide();
verticalScrollBar()->setEnabled(false);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

设置字体

QFont fontt;
font.setFamily("默认");
fontt.setPixelSize(14);
setFont(ft);

根据文本自动调整大小

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

获取行数

document().linecout()

手动设置焦点

setFocus(Qt::MouseFocusReason);

本文分享自微信公众号 - Qt君(qtjuna)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 看看Qt里那些使用了匿名函数

    Qt君
  • Linux指定执行文件的动态库路径

      在Linux中添加动态库路径可以设置LD_LIBRARY_PATH路径。如添加/mylib动态库路径:

    Qt君
  • Boost容器中的重载运算符

    Qt君
  • Linux基金会推出Akraino项目,致力于边缘计算

    Linux基金会发布了新的Akraino项目,该项目立足于AT&T在边缘计算系统和应用程序中完成的基础工作,为运营商和企业网络扩展新一代零接触边缘云基础架构的开...

    SDNLAB
  • New UWP Community Toolkit - DeveloperTools

    概述 UWP Community Toolkit  中有一个开发者工具集 DeveloperTools,可以帮助开发者在开发过程中进行 UI 和功能的调试,本篇...

    Shao Meng
  • 苹果公司针对数据隐私发声:我们让数据追踪更困难

    今天,苹果公司发表了最强硬的声明,涉及隐私问题和Facebook等公司追踪用户一事。

    周俊辉
  • 云计算技术加盟 服务民生更直接

    “生活中你也许会遇到这样的情况,去银行办理业务,却被告知因银行要进行系统升级,暂停业务办理。现在有了解决办法,如果银行采用云计算技术,就能够在不中断业务的情况下...

    静一
  • 散装记录之如何单独使用modelsim进行仿真

    无独有偶,这两天都遇到了只能用modelsim进行仿真的要求,事情虽小,但是觉得还是要记录一下的,所以在此记录一下如何单独使用modelsim进行verilog...

    根究FPGA
  • 对Python源码加密及反编译前后对比

    目前软件开发商对 Python 加密时可能会有两种形式,一种是对python转成的exe进行

    py3study
  • 如何在ABAP里用函数式编程思想打印出非波拉契Fibonacci(数列)

    在JavaScript里可以用ES6提供的FunctionGenerator这种黑科技来打印非波拉契数列,具体细节参考我这篇文章。

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券