QListWidgetItem最右边的可见位置/字符?

时间:2014-08-28 05:33:13

标签: c++ qt qlistwidget

我有QListWidget,其中我添加了少量QListWidgetItem个文字。 其中一些项目必须在最右边的可见位置使用右三角(使用unicode)。

有没有什么方法可以计算出最右边的可见角色的位置,这样我就可以在右边的三角形之间插入空格了?

如果有动态的方式来了解这些信息,那就太好了。 因为这个列表不是静态的,它根据组合框中的变化而改变...所以有时可能会有滚动条,有时不会。

1 个答案:

答案 0 :(得分:0)

例如:

ui->listWidget->addItem(("▶ text"));
QString st = ui->listWidget->item(0)->text();//just get text from item
int pos = st.indexOf("▶");//find position
if(pos == -1)
    qDebug() << "this iten doesn't have this symbol";
//st.insert(pos,"A");//now you have position, you can insert what you want
ui->listWidget->item(0)->setText(st);//set text back to the item

这是一个例子,所以也许您需要调整此代码。

要动态执行此操作,您可以使用信号/插槽机制。 QComboBox有很好的信号:currentIndexChanged ( const QString & text )