当前位置: 首页 > article >正文

QComboBox 和 QPlainTextEdit

目录

QComboBox

添加项

常用函数

QPlainTextEdit

使用方法

示例

欢迎大家star


QComboBox

QComboBox 主要的功能是提供一个下拉列表供选择输入,也可以直接当作一个 QLineEdit 用作输入(ui->comboBox->setEditable(true);)。

添加项

void ExQComboBox::on_btnInitNameAge_clicked()
{
    QIcon ico;
    ico.addFile(":/girl.ico");
​
    QMap<QString, QString> map;
    map.insert("张投", "16岁");
    map.insert("张我", "17岁");
    map.insert("张以", "18岁");
    map.insert("张木", "19岁");
    map.insert("张李", "20岁");
    map.insert("张,", "21岁");
    map.insert("张报", "22岁");
​
    ui->comboBoxRight->clear();
    foreach(const QString &str, map.keys()){
        ui->comboBoxRight->addItem(ico, str, map.value(str));
    }
}

这里用了foreach遍历map。

添加具有用户数据的项 QComboBox::addltem() 函数的两种参数的原型定义如下:

void addItem (const QString &text, const QVariant &userData = QVariant())
void addItem (const QIcon &icon, const QString &text, const QVariant &userData = QVariant())

常用函数

QComboBox 存储的项是一个列表,但是 QComboBox 不提供整个列表用于访问,可以通过索引访问某个项。访问项的一些函数主要有以下几种:

  • int currentlndex():返回当前项的序号,第一个项的序号为0。

  • QString currentText():返回当前项的文字。

  • QVariant currentData(int role = Qt::UserRole):返回当前项的关联数据,数据的缺省角色为 role = Qt::UserRole,角色的意义在后续章节会详细介绍。

  • QString itemText(int index):返回指定索引号的项的文字。

  • QVariant itemData(int index, int role = Qt%:UserRole):返回指定索引号的项的关联数据。

  • int count():返回项的个数。

在一个 QComboBox 组件上选择项发生变化时,会发射如下两个信号:

void currentlndexChanged(int index)
void currentlndexChanged(const QString &text)

QPlainTextEdit

QPlainTextEdit 是一个多行文本编辑器,用于显示和编辑多行简单文本。

QPlainTextEdit 提供cut( )、copy( )、paste( )、undo( )、redo( )、clear( )、selectAll( )等标准编辑功 能的槽函数,QPlainTextEdit还提供一个标准的右键快捷菜单。

QPlainTextEdit的文字内容以QTextDocument类型存储,函数document()返回这个文档对象的指针。

QTextDocument是内存中的文本对象,以文本块的方式存储,一个文本块就是一个段落,每个段落以回车符结束。QTextDocument提供一些函数实现对文本内容的存取。

使用方法

常用函数含义()
appendPlainText()向QPlain TextEdit添加一行话
int blockCount()获得文本块个数
QTextBlock findBlockByNumber(int blockNumber)读取某一个文本块,序号从0开始,至blockCount()-1结束。

示例

void ExQComboBox::onSelectDisplay(QString str){
    QString strData = ui->comboBoxRight->currentData().toString();
    ui->plainTextEdit->appendPlainText(str + " " + strData);
}

欢迎大家star

这里是项目的源码,是一个很好的练习的例子,可以自己敲着玩一玩,练习练习手感

QTStudy/QTReviewQCombobox at main · allenmirac/QTStudy · GitHub


http://www.kler.cn/a/6777.html

相关文章:

  • Java 核心技术卷 I 学习记录八
  • uni-app快速入门(十)--常用内置组件(下)
  • Unity 编辑器下 Android 平台 Addressable 加载模型粉红色,类似材质丢失
  • nodejs入门(1):nodejs的前后端分离
  • elasticsearch是如何实现master选举的?
  • 搜维尔科技:SenseGlove触觉反馈手套开箱+场景测试
  • Java阶段一Day15
  • SuperMap GIS基础产品三维GIS FAQ集锦(1)
  • Cannot read properties of undefined (reading ‘uri‘)
  • 怎么将图文、视频生成一个二维码?多内容在线生成二维码的方法
  • [Netty] Selector选择器以及Reactor实现 (七)
  • Pycharm创建自定义代码片段
  • Sentinel1.8.6规则持久化到Nacos2.2.0集群记录
  • 代码随想录训练营第49天|121.买卖股票的最佳时机、122.买卖股票的最佳时机Ⅱ
  • ES 聚合查询(四)-cnblog
  • Linux0.11 内核体系结构(八)
  • 【AUTOSAR】【Lin通信】LinTrcv
  • Linux基础操作 常用命令 Centos
  • 【VUE】vue打包后引入js和css用相对路径引入
  • C++编程大师之路:从入门到精通-通讯录管理系统
  • SpringBoot——SB整合mybatis案例(残缺版本)第四集(真*大结局)
  • Edge集锦没有同步按钮 - 待解决
  • JVM内存区域面试详解
  • tftp与ftp的异同
  • 队列(Queue)与双端队列 (Deque)
  • pdf压缩文件怎么压缩最小?办公常备软件