В прошлый раз, когда у меня была похожая проблема, я нашел это обсуждение в Qt labs полезным. Он сообщил мне, что QIcon теперь (с версии 4.6, я полагаю) имеет функцию QIcon::fromTheme
, которая позволяет загружать иконки на основе Спецификации именования иконок Freedesktop.org и, кроме того, предоставьте запасной значок, который будет использоваться, если текущая тема не имеет соответствующего значка.
Затем я включил некоторые очень простые значки для использования в качестве запасного варианта и в целом определял значки только по их именам в Freedesktop. Это почти всегда соответствовало теме, и программа все еще работала в тех случаях, когда люди пропускали значки.
Что касается значка предупреждения, я предполагаю / надеюсь, что каждая тема должна иметь тему с именем "dialog-warning", и что это то, что вы ищете.
Надеюсь, это поможет.
Редактировать : Да, и, если вы не знаете, может быть полезно взглянуть, например, на набор иконок Tango , чтобы получить общее представление о том, что такое Freedesktop имена соответствуют (хотя это, конечно, зависит от темы).