Qt中一些常用的技巧
程序员文章站
2024-01-02 12:38:16
...
当QLabel中的文字过长,在最后面显示省略号
QString newStrMsg = "1234567890abcdefghijklmnopqrstuvwxyz";
QFontMetrics fontWidth(ui->noteValueLabel->font()); //得到每个字符的宽度
QString elideNote = fontWidth.elidedText(newStrMsg, Qt::ElideRight, 150); //最大宽度150像素
ui->noteValueLabel->setText(elideNote);
ui->noteValueLabel->setToolTip(newStrMsg);
寻找文件夹中所有的某格式文件
bool scanData(const QDir& fromDir, const QStringList& filters = { "*.obj" });
bool QtTest::scanData(const QDir& fromDir, const QStringList& filters)
{
QFileInfoList fileInfoList = fromDir.entryInfoList(filters, QDir::AllDirs | QDir::Files);
foreach(QFileInfo fileInfo, fileInfoList)
{
if (fileInfo.fileName() == "." || fileInfo.fileName() == "..")
continue;
if (fileInfo.isDir())
{
if (!scanData(fileInfo.filePath(), filters))
return false;
}
else
{
filePathList.append(fileInfo.absoluteFilePath());
}
}
return true;
}