QLabel 定长后字符串超出部分显示三个点...
我的QLabel都是定长的,但字符串却是不定长的。势必在一些情形下,字符串显示不全。
我想在显示不全时,人为在尾端加上“...”三个点,以示用户。
QString QFontMetrics::elidedText ( const QString & text, Qt::TextElideMode mode, int width,
int flags = 0 ) const
现在OK了。有一点,多行的文本打...,elidedText的第3个width参数需乘个行数。。
#define SIZE_W 100
#define SIZE_H 30
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
this->resize(SIZE_W*2, SIZE_H*6);
m_pButton = new QPushButton(this);
m_pButton->setText("btn");
m_pButton->setFixedSize(SIZE_W, SIZE_H);
m_pButton->move(0, SIZE_H*0);
QString text1("This is a simple QLabel object text!");
QFont ft;
QFontMetrics fm(ft);
QString text2 = fm.elidedText(text1, Qt::ElideRight, SIZE_W);
QString text3 = fm.elidedText(text1, Qt::ElideRight, SIZE_W*2);
m_pLabel1 = new QLabel(this);
m_pLabel1->setFixedSize(SIZE_W, SIZE_H);
m_pLabel1->move(0, SIZE_H*1);
m_pLabel1->setText(text1);
m_pLabel2 = new QLabel(this);
m_pLabel2->setFixedSize(SIZE_W, SIZE_H);
m_pLabel2->move(0, SIZE_H*2);
m_pLabel2->setText(text2);
m_pLabel3 = new QLabel(this);
m_pLabel3->setFixedSize(SIZE_W, SIZE_H);
m_pLabel3->setWordWrap(true);
m_pLabel3->setAlignment(Qt::AlignTop);
m_pLabel3->move(0, SIZE_H*3);
m_pLabel3->setText(text3);
}声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了
