User Tools

Site Tools


qt:mainwindow-buildicon

This is an old revision of the document!


Append a regularly defined set of differently sized icon images to a QIcon.

theIcon is a pointer to the icon that will be built/appened to. iconRscTemplate is a string that provides a template for the icon resource. The tag %size% will be replaced by “{iconSize}x{iconSize}” and %dim% by “{iconSize}”, where {iconSize} is a string cast of an element in sizeList. sizeList contains a list of single-dimension sizes to be added to the icon.

Example:

Assumes the resources “:myIcons/16×16/exit.png”, “:myIcons/24×24/exit.png”, and “:myIcons/32×32/exit.png” are available.

QList<int> sizes; sizes << 16 << 24 << 32;
 
QIcon exitIcon;
buildIcon(&exitIcon, ":myIcons/%size%/exit.png", sizes);

buildIcon() does NOT check whether the referenced resources actually exist.

void MainWindow::buildIcon(QIcon* const theIcon, QString const &iconRscTemplate, QList const &sizeList)
{
    foreach (const int iconSize in sizeList)
    {
        QString theResource = iconRscTemplate;
        theResource.replace(QString("%size%"), iconSize+"x"+iconSize);  // does this work?
        theResource.replace(QString("%dim%"), iconSize+"");             // does this work?
 
        theIcon->addFile(theResource, QSize(iconSize, iconSize))
    }
}
qt/mainwindow-buildicon.1305206759.txt.gz · Last modified: 2011/05/12 13:25 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki