मेरे पास एक कस्टम विजेट है और इसे एक संदेशडिअलॉग लॉन्च करने की आवश्यकता है और मेरे लिए उस संदेश संवाद को विंडो के शीर्ष पर रखने के लिए मेरे विजेट में है, तो मुझे मूल gtk.window तक पहुंच की आवश्यकता है। क्या माता-पिता जीटीके विंडो पाने का कोई तरीका है? धन्यवादक्या आप विजेट से मूल जीटीके विंडो प्राप्त कर सकते हैं?
10
A
उत्तर
8
जीटीके डॉक्स सुझाव देते हैं:
GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
if (gtk_widget_is_toplevel (toplevel))
{
/* Perform action on toplevel. */
}
get_toplevel सर्वोच्च विजेट आप के अंदर कर रहे हैं इस प्रकार is_toplevel जांच वापस आ जाएगी, चाहे या नहीं यह एक खिड़की है,। हाँ कुछ गलत नाम दिया गया है क्योंकि ऊपर दिए गए कोड में "get_toplevel()" है, फिर तत्काल "is_toplevel()" (सबसे अधिक संभावना है, get_toplevel() को कुछ और कहा जाना चाहिए)।
2
हालांकि gtk_widget_get_toplevel काम करना चाहिए, आप नीचे दिए गए कोड को भी आजमा सकते हैं। इसे दिए गए विजेट के लिए मूल gtk विंडो प्राप्त करनी चाहिए और इसके शीर्षक को प्रिंट करना चाहिए।
GdkWindow *gtk_window = gtk_widget_get_parent_window(widget);
GtkWindow *parent = NULL;
gdk_window_get_user_data(gtk_window, (gpointer *)&parent);
g_print("%s\n", gtk_window_get_title(parent));
आशा है कि यह मदद करता है, का संबंध
5
PyGTK में, आप toplevel = mywidget.get_toplevel()
तरह उच्चस्तरीय तो gtk.MessageDialog()
संबंधित मुद्दे
- 1. डब्ल्यूपीएफ, क्या आप डिफ़ॉल्ट विंडोज रंग प्राप्त कर सकते हैं?
- 2. क्या आप सी # कोड में मूल अपवाद पकड़ सकते हैं?
- 3. क्या आप जावास्क्रिप्ट से HTTP पैच अनुरोध कर सकते हैं?
- 4. आप UIElement के अभिभावक को कैसे प्राप्त कर सकते हैं?
- 5. क्या आप एचटीएमएल 5 वेब ऐप से मूल कैमरा ऐप लॉन्च कर सकते हैं?
- 6. सी में आप क्या नहीं कर सकते हैं जिसे आप उद्देश्य-सी में कर सकते हैं?
- 7. क्या आप अनुरोध चर से टाइमज़ोन निर्धारित कर सकते हैं?
- 8. क्या आप जावास्क्रिप्ट से सी # फ़ंक्शन कॉल कर सकते हैं?
- 9. क्या जीटीके विजेट कॉपी करने का कोई अच्छा तरीका है?
- 10. मैं कैसे अपनी मूल विंडो पर बच्चे विंडो से एक ईवेंट भेज सकते हैं
- 11. सी # में आप कितने वर्ग प्राप्त कर सकते हैं?
- 12. आप विधि पैरामीटर के नाम कैसे प्राप्त कर सकते हैं?
- 13. जीटीके #
- 14. एम्बेडेड प्रोग्रामिंग मूल बातें सीखने के लिए आप कुछ सरल परियोजनाएं क्या कर सकते हैं?
- 15. क्या आप अंतर निर्दिष्ट कर सकते हैं ./,../,~/ ASP.NET में?
- 16. क्या JRuby मूल रूबी रत्न का उपयोग कर सकते हैं?
- 17. आप जेडीके में मूल कोड कहां पा सकते हैं?
- 18. क्या कर सकते हैं कि sed क्या कर सकते हैं?
- 19. क्या आप एक रूपांतरण ऑपरेटर के प्रकार से अपवाद प्राप्त कर सकते हैं?
- 20. 'नया' ऑपरेटर ओवरराइड करने से आप क्या उपयोगी कार्यक्षमता प्राप्त कर सकते हैं?
- 21. यदि आप संदर्भ द्वारा अपवाद पकड़ते हैं, तो क्या आप इसे संशोधित कर सकते हैं और पुनर्स्थापित कर सकते हैं?
- 22. आप वेब पेज को प्रिंटर पर ब्राउज़र विंडो में क्या कुछ अलग कर सकते हैं?
- 23. (पीई) जीटीके
- 24. क्या आप # परिभाषित स्ट्रिंग अक्षर में परिभाषित कर सकते हैं?
- 25. क्या आप पाइथन टिंकर में विजेट के माता-पिता को बदल सकते हैं?
- 26. क्या आप एक्सटेंशन विधि स्टेटिक/साझा कर सकते हैं?
- 27. आप कैसे सुनिश्चित कर सकते हैं ट्विटर बूटस्ट्रैप पॉपओवर विंडो दिखाई दे रहे हैं?
- 28. क्या आप PHP में लूप से बाहर निकल सकते हैं?
- 29. क्या आप जावास्क्रिप्ट का उपयोग कर उपयोगकर्ता स्क्रीन आकार/संकल्प प्राप्त कर सकते हैं?
- 30. प्रमाणीकरण - क्या आप कुकीज़/सत्र का उपयोग कर सकते हैं?
यह निम्न स्तर GDK gunge के माध्यम से एक अनावश्यक चक्कर लेता करने के लिए सीधे
toplevel
फ़ीड प्राप्त कर सकते हैं - बेहतर रहने के लिए जीटीके परत के साथ। यहां आपको विजेट को एहसास होने की आवश्यकता है, और जीटीके 3 में समस्याएं हो सकती हैं। –"हालांकि उचित अनुशंसित विधि काम करनी चाहिए, आप किसी भी स्पष्ट कारण के लिए इस अनिवार्य जटिल विकल्प को भी आजमा सकते हैं" ... या कोई है .. ।? –