在Label显示内容时常常遇到这种情况,比如要显示一个“abcdefghijklmnopqrstuvwxyz”字符串的Label,但是又不想显示全部,只想显示前面的abcedfg,后面的内容显示为"...",即把内容显示为“abcdefg...”
这时就可以用QFontMetrics 类来获取字体宽度,最后用elide的Text()函数处理字符串省略号,
实现代码如下:
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui>
#include <QMainWindow>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
QString geteElidedText(QFont font, QString str, int MaxWidth);
private:
QLabel *