@ypnos समस्या को हल करने के लिए कई दृष्टिकोण के साथ एक महान लिंक का सुझाव दिया। मैं आखिरी एक - Creating a custom icon theme पसंद करता हूं। लेखक राज्यों तीन पेशेवरों (सभी प्लेटफार्मों लिए उपलब्ध है, बहुत बढ़िया आकार बदलने, कवर सभी आवश्यक प्रतीक), और दो विपक्ष (प्रणाली आइकन विषय के अनुरूप नहीं है, दर्द पिछवाड़े में लागू करने के लिए)। यहां मैं विपक्ष से छुटकारा पाने के लिए सुधार का सुझाव देता हूं।
मैंने जिथूब से टैंगो आइकनसेट को क्लोन किया है। रिपोजिटरी https://github.com/ppinard/qtango में पहले से ही index.theme फ़ाइल है। लेकिन मुख्य रूप से, यह एक पायथन स्क्रिप्ट generate_rcc.py
लाता है, जो स्वचालित रूप से *.qrc
फ़ाइल उत्पन्न कर सकता है। मुझे subprocess.check_call()
के '--binary'
और '--compress'
से '-binary'
और '-compress'
से तर्कों को बदलना पड़ा। जेनरेट की गई फ़ाइल में पूर्ण पथ होते हैं, लेकिन & को ढूंढना आसान है। कोई भी इस स्क्रिप्ट का उपयोग किसी भी प्रतीक पर कर सकता है - पहला श्रमिक कदम हल हो जाता है।
अब, "थीम" संपत्ति का उपयोग करके, आप क्यूटी डिजाइनर में आइकन को परिभाषित कर सकते हैं, जैसा कि पहले से ही प्रश्न में दिखाया गया है। लिनक्स के तहत विकसित होने वाले लोगों के लिए, सिस्टम आइकन डिज़ाइनर में सही दिखाए जाएंगे (मान लीजिए कि आइकनसेट मानक आइकन नामों का उपयोग करता है)। यह मूल रूप है (आइकन आपके सिस्टम सेटिंग्स में कॉन्फ़िगर करने योग्य होंगे)। यह आपको ui->action_Open->setIcon(...)
कोडिंग से मुक्त करता है।
और अंतिम ट्विक UI सेटअप से पहले विषय सेट करना है।
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
#ifdef _WIN32
QIcon::setThemeName("tango");
#endif
ui = new Ui::MainWindow;
ui->setupUi(this);
...
// NO NEED FOR ui->action_Open->setIcon(...)
}
निश्चित रूप से #ifdef
कर सकते हैं सभी आवश्यक प्लेटफ़ॉर्म को लक्ष्य बना करने के लिए समायोजित, या लिनक्स सहित सभी प्लेटफार्मों पर एक ही प्रतीक के लिए मजबूर करने लोप हो।
परिणामस्वरूप, यह दृष्टिकोण सभी श्रमिक कोडिंग से बचाता है और नतीजा कम से कम लिनक्स पर सिस्टम आइकन के साथ संगत होता है।
अन्य ऑपरेटिंग सिस्टम में टूलबार पर उपयोग किए जाने वाले मानक आइकन का एक बड़ा बड़ा निकाय है, और इनके लिए आइकन थीम हैं। उदाहरण के लिए: http://commons.wikimedia.org/wiki/Tango_icons http://gnome-look.org/content/show.php/?content=122078 जैसा कि आप देख सकते हैं, यह एक बहुत अच्छी अवधारणा है क्योंकि सभी एप्लिकेशन जो इन मानक आइकनों का उपयोग किसी भी डेस्कटॉप वातावरण में अच्छी तरह से फिट है जो उपयोगकर्ता द्वारा अनुकूलन योग्य है। – ypnos
कृपया ध्यान दें कि मेरी पिछली टिप्पणियां अब टिप्पणियों के जवाब दिए गए थे। गलतफहमी के लिए खेद है। – ypnos