পাইথনের সাথে অ্যাপ সূচকগুলিতে Gtk.Widgets ব্যবহার করা


44

২০১০ সালে স্টেফানো প্যালাজো, একটি সম্পর্কিত প্রশ্ন জিজ্ঞাসা করলেন, একটি নির্বিচারে জিটিকে.বিজেট রেখে একটি অ্যাপিনডিকেটর।আইডিসিকেটার এবং অনুরূপ একটি স্ট্যাক ওভারফ্লোতে জিজ্ঞাসা করা হয়েছিল । উভয় ক্ষেত্রেই sensক্যমত্য হ'ল উবুন্টুর অ্যাপ সূচকগুলি সীমিত। মাইকেল একস্ট্র্যান্ড যেমন লিখেছেন:

অ্যাপ্লিকেশন ইন্ডিকেটর মেনু সমর্থন ডি-বাস মেনুগুলির উপর ভিত্তি করে, যা তারা সমর্থন করে তা সীমাবদ্ধ - তারা কেবল বেসিক মেনু কার্যকারিতা সমর্থন করে, স্বেচ্ছাসেবী উইজেটের মতো আরও বহিরাগত জিনিস নয়।

যাইহোক, এটি আমরা আজ ব্লুটুথ সূচকে যা দেখতে পাচ্ছি তার বিপরীতে রয়েছে ২০১। সালে: এটি টগল স্যুইচ ব্যবহার করে।

এখানে চিত্র বর্ণনা লিখুন

১৩.০৪ থেকে উবুন্টু ওয়ান সূচকের সাথে একই লক্ষ্য করা যায়:

এখানে চিত্র বর্ণনা লিখুন

স্পষ্টতই একটি উপায় আছে। আমি সূচক-ব্লুটুথ উত্স কোড অধ্যয়ন করেছি, তবে এটি ভালায় লেখা আছে। আমি তবে মূলত পাইথনে কাজ করি এবং আমার ইতিমধ্যে বিদ্যমান সূচকগুলিকে পুনরায় লেখার জন্য ভালাকে শিখিয়ে নেওয়া কিছুটা বেশি কাজ।

সুতরাং প্রশ্নের মূল বিষয়: পাইথন ব্যবহার করে কেউ কীভাবে Gtk.Widgets ব্যবহার করতে পারে বা খুব কমপক্ষে একটি টগল স্যুইচ করতে পারে?

দ্রষ্টব্য : আমি একটি উত্তর পুরষ্কারের জন্য এই প্রশ্নটির উপর অনুদান রাখতে চাই যা পাইথনের ক্ষেত্রে একটি কার্যকরী উদাহরণ প্রদান করবে । অন্যান্য ভাষা গ্রহণ করা হয় না।


6
অ্যাপ্লিকেশন সূচকটি সীমাবদ্ধ এমনকি ফ্লাইতে আইকনটি সমর্থন করে না (এটি কেবল ফাইল সিস্টেম থেকে চিত্র ফাইল লোড করে)। আপনি যে সূচকগুলি উল্লেখ করেছেন সেগুলি হলেন SYSTEM সূচক (ব্লুটুথ, উবুন্টু এক, শব্দ, শক্তি, ...)। এগুলি আলাদা এবং তারা libappindicator ব্যবহার করছে না। আমি ইতিমধ্যে কয়েকটি পোস্ট পোস্ট করেছি যা পার্থক্যটি পরিষ্কার করতে সহায়তা করতে পারে। আমি ইতিমধ্যে সি ব্যবহার করে একটি সিস্টেম সূচক পেয়েছি তবে পাইথনটিতে আমি এখনও লড়াই করছি।
user.dz

2
এই প্রশ্নে উবুন্টু কোর ডেভসের দৃষ্টি আকর্ষণ করার কোনও উপায় আছে কি?
don.joey

1
কমপক্ষে test = Gtk.CheckMenuItem("Monkey")একটি চেকবটন যোগ করার কাজ করে তবে আরও কিছু হওয়া উচিত। যদিও যে এক কাজ, এই এক করা উচিত কাজ করে, কিন্তু না: Gtk.CheckMenuItemToggled("Monkey")। আমি নিশ্চিত যে এটি কোনওভাবেই কাজ করতে পারে। দেখুন: developer.gnome.org/gtk3/stable/GtkCheckMenuItem.html
জ্যাকব ভিলিজ

1
@ জ্যাকবভিলিজম হ্যাঁ, যে কোনও একক মেনুয়েটেম যুক্ত করে এটি একটি জিটিকে.বক্স যুক্ত করতে এবং সেই বাক্সে জিটিকে ডাবলকে যুক্ত করতেও কাজ করে, তবে অন্য কিছুই না (এটিতে উইজেটে কেবল একটি আইটেম থাকতে পারে
সার্গি কলডিয়াজনিny

1
Gtk.ImageMenuItem
বিটিডব্লিউ

উত্তর:


1

এই সমস্যাটি বিদ্যমান কারণ AppIndicators একটি সূচক মেনু তৈরি করা সহজ করার পরেও তারা এটি তৈরির পথে চলে। আসুন উদাহরণস্বরূপ অ্যাপ্লিকেশনকারী ব্যবহার করে পাইথন কোড এবং ব্লুটুথ কোডটি যেভাবে জিআইআইবি মেনু ব্যবহার করে তার মধ্যে পার্থক্যগুলি দেখুন।

প্রথমে আপনাকে একটি তৈরি করার নির্দেশ দেওয়া হয়েছে gtk.Menu, এগুলি হ'ল পুরাতন স্টাইলের জিটিকে মেনু অবজেক্ট যা ব্যবহার Gtk.Actionকরা হয় তা এখন হ্রাস করা হয়েছে। AppIndicator প্রক্রিয়া gtk.Menuচলাকালীন আপনার কাছ থেকে অবজেক্টটি নিয়ে যায় set_menu(...)এবং পার্স করে, প্রতিটি মেনুটিকে এটির সাহায্যে তৈরি সূচক পরিষেবাটিতে সরিয়ে দেয় libdbusmenu। পার্সিংয়ের এই প্রক্রিয়াটির অর্থ হ'ল অ্যাপআইডিকেটর দ্বারা সমর্থিত কোনও কিছুই ফিল্টার আউট নয়, আপনি যা কিছু করেন না কেন।

এর পরে ব্লুটুথ মেনুটি দেখুন। এটি Gio.Menuঅবজেক্ট ব্যবহার করে তৈরি করা হয়েছে , এটি GActionসিস্টেম ব্যবহার করে নতুন স্টাইলের জিনোম মেনু । তখনই নিবন্ধিত এটা ব্যবহার না করেই নিজের সেবা এর AppIndicatorবা libdbusmenuএবং সেট এটা একটি কাস্টম ব্যবহার আপ এর x-canonical-typeসুইচ উইজেট যা পাস করা হয়েছে তৈরি করতে সম্পত্তি libidoপার্সিং জন্য।

এই পুরো অনুশীলনটি বেশ খারাপ, যেহেতু এটি সমস্ত ক্যানোনিকালের নিজস্ব ইউনিটির কাস্টমাইজেশন। সুতরাং unityক্য যত তাড়াতাড়ি হবে, যাইহোক যাইহোক কোনও appindicators নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.