Qtableview item省略在左侧

2024-02-06 01:12
文章标签 省略 左侧 item qtableview

本文主要是介绍Qtableview item省略在左侧,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 我们在设置tablewidgetItem文字的时候,有时候希望省略号在左侧,而默认的是在右侧,如何解决呢?

  我们尝试设置

TabView->setTextElideMode(Qt::ElideLeft); 设置完后,发现不起作用。

  这时候我们需要使用代理来实现 (两种)

第一种方法  

  strTemp就是原始文字。elidetext 是省略后的文字。

QFont font("Segoe UI",12);
QFontMetrics metrics(font);QString elidedText = metrics.elidedText(strTemp, Qt::ElideLeft, option.rect.width());
painter->drawText(option.rect,Qt::AlignCenter,elidedText); 这样就可以省略在左边了

第二种方法  

QStyleOptionViewItem opt = option;
initStyleOption(&opt, index);
opt.displayAlignment = Qt::AlignCenter;
opt.textElideMode    = Qt::ElideLeft;
QApplication::style()->drawItemText( painter, optionRect , opt.displayAlignment|opt.textElideMode, QApplication::palette(), true,elidedText );

这样也实现了,但是可能你会发现,为什么绘制的这行不高亮了,加上下面的代码就高亮了。

 if (option.state & QStyle::State_Selected){painter->fillRect(option.rect, option.palette.highlight());}

这篇关于Qtableview item省略在左侧的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/682751

相关文章

listView的item向左滑动实现删除

有一种删除功能是这样的: ListView的item向左滑动,实现删除功能 注释很清楚,简单明了 1.自定义LeftDeleteView.java继承HorizontalScrollView.java public class LeftDeleteView extends HorizontalScrollView { private int start;//开始滑动的位

CSS 超出长度省略

更多内容: http://blog.yuhai.win 参考地址:1、https://segmentfault.com/a/11900000062379772、http://www.css88.com/archives/52063、https://github.com/josephschmitt/Clamp.js案例代码:1、https://github.com/yuhaizr/htmlexam

CSS文本溢出截断省略

文本溢出截断省略 文本溢出截断省略是比较常见的业务场景,主要分为单行文本溢出截断省略与多行文本溢出截断省略,单行的截断方案比较简单,多行截断相对比较复杂。 单行溢出省略 单行文本溢出截断省略直接使用CSS即可,其无兼容问题,文本溢出范围才显示省略号,否则不显示省略号,省略号位置显示刚好,但是只能作为单行文本溢出截断省略的解决方案。 <section><div class="t1">很长很长

【Rust每周一知】一种奇怪的表示 T::Item

我们都知道,Rust有一种叫 完全限定语法(fully-qualified syntax) 的东西。请看下面的例子: trait AAA {type Item;fn test();}struct Foo;impl AAA for Foo {type Item = String;fn test() {println!("a test.");}}fn main() {let f: Foo::It

qt 简单实验 一个可以向左侧拖拽缩放的矩形

1.概要 向左拖拽矩形,和向右拖拽不同,向右拖拽是增加宽度,向左拖拽是增加宽度的同时还要向左移动x的坐标。 2.代码 2.1 resizablerectangleleft.h #ifndef RESIZABLERECTANGLELEFT_H#define RESIZABLERECTANGLELEFT_H#include <QWidget>#include <QMouseEvent>

微信小程序-获取swiper-item中image的值(item-id)

滑过一个图片获取该图片的id,或者打印其他的item值 只需要加:item-id="{{item.id}}" <swiper bindchange="swiperchange"><block wx:for="{{photos}}" wx:key='{{item.id}}'><swiper-item item-id="{{item.id}}"><image src='{{item.url}

JupyterLab使用指南(八):更改JupterLab左侧默认打开目录

在JupyterLab中,默认打开路径通常是由其配置文件中的root_dir设置决定的。如果你没有特意设置这个配置项,JupyterLab可能会使用当前用户的主目录或者上一次关闭时的路径作为默认打开路径。 更改JupyterLab默认路径的操作在不同操作系统下大体相似,主要是通过配置文件来实现。下面是针对Windows、macOS和Linux三种常见操作系统的具体步骤: Windows 使

NetSuite Non-Inventory Item 公司内外采购总账影响

上篇文章提到,Non-Inventory Item的科目维护会根据各个企业的实际情况而有所不同,通常情况下都涉及外部交易,即对外采购与销售;另外也涉及到公司内部的相关交易,本篇以采购为例,来看看公司内外采购交易所对应的总账影响。 首先,我们创建一个Non-Inventory Item物料,其Accounting标签下的Account维护如下: 需要注意的是,这里的Intercompany

【Qt6.3 基础教程 13】 掌握数据展示:使用QTableView和QStandardItemModel

文章目录 前言QTableView:表格式数据的强力工具主要特性 QStandardItemModel:灵活的数据模型主要特性 结合使用QTableView和QStandardItemModel步骤一:初始化模型步骤二:填充数据步骤三:创建视图并设置模型 结论 前言 在开发现代桌面应用程序时,对数据进行有效展示是至关重要的。Qt框架提供了强大的工具来创建复杂的数据视图,其中

NetSuite 不同类型Item的公司间交易科目的设置

我们知道,NetSuite中有Intercompany Preferences的设置,如下所示,分别涉及到公司间应收、公司间应付、公司间收入、公司间费用以及公司间成本共5个科目,非常明确清晰。 最近用户遇到的场景是,如果是Non-Inventory Item,在对第三方供应商交易时如果是想要进到公司间COGS科目,而公司间内部采购时想要进入公司间的某一费用科目,这样科目该如何设置? 在