QT自定义控件设置文本过长时显示点点点……
生活随笔
收集整理的這篇文章主要介紹了
QT自定义控件设置文本过长时显示点点点……
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有時候有的控件沒有文本超大于控件寬度的時候,顯示點點點……的屬性,即elidetext。
這個時候最簡單的方法就是自己把文本設置一下。
下面上代碼
//定義elidtText接口,比如自定義QLineEdit控件,追加接口void CustomLineEdit::setElideText(const QString &text) {QFontMetrics fontWidth(this->font());//第二個參數是哪邊顯示點點點,最后一個參數就是當文本到達什么寬度的時候,為什么不是width而是減去6,是實際調試的時候,如果控件可以拉伸,會出現文字左右會浮動,所以縮短一點就能穩定。QString elidnote = fontWidth.elidedText(text,Qt::ElideRight,this->width()-6);this->setText(elidnote);//設置提示,當看不到的時候,把鼠標放在控件上,可以顯示文本,所以一般把全部文本設置進去,挺方便的this->setToolTip(text); }原創不易,喜歡就點個贊吧。
轉載請注明出處
總結
以上是生活随笔為你收集整理的QT自定义控件设置文本过长时显示点点点……的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Canvas: trying to us
- 下一篇: s3c2440移植MQTT