সম্প্রতি আমি গেজেডে এই উইজেটটি দেখেছি:
আপনি টিপলে এটি উপস্থিত হয় Ctrl + F
। আমি কী আগ্রহী তা কীভাবে স্লাইডিং এফেক্টটি পাওয়া যায় সে সম্পর্কে। কোন পরামর্শ প্রশংসা করা হবে।
সম্প্রতি আমি গেজেডে এই উইজেটটি দেখেছি:
আপনি টিপলে এটি উপস্থিত হয় Ctrl + F
। আমি কী আগ্রহী তা কীভাবে স্লাইডিং এফেক্টটি পাওয়া যায় সে সম্পর্কে। কোন পরামর্শ প্রশংসা করা হবে।
উত্তর:
খাঁটি জিটিকে এবং সিএসএস ব্যবহার করে আমি ফেইড-আউট ইফেক্ট অর্জন করেছি ।
এটি কেবল জিটিকে ৩.6-এ কাজ করছে এবং আমি নিশ্চিত নই যে / আউট আউট প্রভাবের কোনও স্লাইড সম্ভব হবে কিনা, তবে আপনি যদি চান তবে আপনি উত্সটি লঞ্চপ্যাড.net / ইউবার রাইটারে দেখতে পারেন
এটি একটি রাষ্ট্র-পরিবর্তন এবং তারপরে জিটিকে ট্রানজিশনের মাধ্যমে কাজ করে ... উচ্চতা // প্রস্থের সাথেও সম্ভবত এটি সম্ভব হবে।
যেহেতু লোকেরা স্পষ্টতই আমাকে নীচে নামায়, এখানে আরও একটি বিস্তারিত ব্যাখ্যা রয়েছে:
এটি আমি ব্যবহার করেছি সিএসএস:
GtkLabel:insensitive {
color: rgba(255,255,255,0);
transition: 500ms ease-in-out;
}
আপনি সিএসএস হিসাবে ব্যবহার থাকেন (আমি আশা করি আমি কিভাবে যে নিজেকে থেকে একটি ব্যাখ্যা উল্লেখ করার অনুমতি দেওয়া করছি: http://wolfvollprecht.de/blog/gtk-python-and-css-are-an-awesome-combo/ ) তারপরে আপনি Gtk.StateFlags
লেবেলটি বিবর্ণ করতে ব্যবহার করতে পারেন ।
উদাহরণ:
label.set_state_flags(Gtk.StateFlags.INSENSITIVE, True)
তারপরে আপনি শূন্য अस्पष्टিতে রূপান্তর পাবেন।
তবে, যেমন আমি লক্ষ্য করেছি, সিএসএসের সাথে স্থান নির্ধারণ / প্রস্থকে প্রভাবিত করার মতো অনেকগুলি বিকল্প নেই, সুতরাং আমার ধারণা এটি রং / অস্বচ্ছতা ইত্যাদিতে সীমাবদ্ধ limited
উপভোগ করুন।
PS: নোট করুন যে এটি কেবল Gtk 3.6 এ কাজ করে, উবুন্টু 12.10 এর পরে
GtkRevealer
, যা উভয় করতে পারে; দেখতে আমার উত্তর ।
খাঁটি জিটিকে + তে এই জাতীয় অ্যানিমেশন অর্জনযোগ্য নয়। এটি প্রক্রিয়া করবে এমন কোনও ব্যবস্থা নেই।
আমি জিডিটের উত্স কোডটিতে একটি তাত্ক্ষণিক নজর দিয়েছি, এটি স্পষ্ট যে তারা নিজেরাই এই অ্যানিমেশনটি প্রক্রিয়া করে। অ্যানিমেশন সম্পর্কিত কোডটি বেশ প্রসারিত হওয়ার জন্য আমি বিশদটি দেখিনি, তবে আমি উল্লেখ করেছি যে তারা অ্যানিমেটেড অনুসন্ধান উইজেটের জন্য কায়রো অঙ্কন বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করে। সম্ভবত উইজেটটি ফ্রেম দ্বারা তার অবস্থানের ফ্রেমটি সরানো এবং একক পাঠ্য প্রদর্শনের ক্ষেত্রে ব্যবহৃত ওভারলেতে পৃথক স্থানে পুনরায় আঁকিয়ে অ্যানিমেটেড করা যায়।
এটি সহজ সমাধান বলে মনে হচ্ছে। (জিডিট কোডটি একই কোড বেসটি ভাগ করে নেওয়ার জন্য অনেক অ্যানিমেশনগুলির জন্য প্রস্তুত বলে মনে হয়, সুতরাং এটি কোনও সাধারণ অ্যাপ্লিকেশনে সঠিক অবস্থানটি ব্যবহার করা ওভারকিল হতে পারে))
এই প্রভাব পুনরুত্পাদন করতে, আপনার প্রয়োজন হবে:
আমি এর চেয়ে সহজ সমাধান নিয়ে আসতে পারি না। তবে, জেডিট বিকাশকারীরা জিটিকে + খুব সম্ভবত খুব কমই জানেন তা বিবেচনা করে এ জাতীয় প্রভাব অর্জনের জন্য কোনও সহজ কৌশল থাকতে পারে না।
আপনি Gtk.fixed (), GObject.Toutout_add এবং ফাংশন মুভের মধ্যে একটি সমন্বয় ব্যবহার করতে পারেন, এখানে পাইথনের উদাহরণ রয়েছে:
#!, / Usr / bin / python- * gi.repository আমদানি থেকে Gtk, GObject ক্লাস টেস্ট উইন্ডো (Gtk.Window): ডিফ অ্যানিমেটেমেজ (স্ব): GObject.timeout_add (150, self.slideImage) ডিএফ স্লাইড চিত্র (স্ব): স্ব.পজিশনএক্স + = 50; যদি (স্ব.পজিশন এক্স> 800): self.fixedWidget.move (self.logo, self.positionX, 200) সত্য ফিরে অন্য: প্রত্যাবর্তন মিথ্যা Def __init __ (স্ব): Gtk.Window .__ init __ (স্ব, শিরোনাম = 'নিবন্ধকরণ') স্ব.পজিশনএক্স = 500 self.fixedWidget = Gtk.Fixed () self.fixedWidget.set_size_request (1920,1080) self.fixedWidget.show () self.logo = Gtk.I छवि.new_from_file ('picture.png') self.logo.show () self.fixedWidget.put (self.logo, self.positionX, 200) self.button1 = Gtk.Button ('ছবি স্লাইড করতে আমাকে ক্লিক করুন!') self.button1.show () self.button1.con সংযুক্ত ('ক্লিক করা', স্ব.অ্যানিম্যাট আইমেজ) self.button1.set_size_request (75,30) self.fixedWidget.put (self.button1,750,750) self.add (self.fixedWidget) টেস্টউইন্ডো = টেস্ট উইন্ডো () testWindow.set_size_request (1920,1080) testWindow.set_name ( 'testWindow') testWindow.show () Gtk.main ()
আজকাল, এই প্রশ্নের একটি সত্য উত্তর আছে। যেহেতু এটি প্রাথমিকভাবে জিজ্ঞাসা করা হয়েছিল এবং উত্তর দেওয়া হয়েছিল, তাই libgd
আমি জেডিট সেই সময়টি ব্যবহার করছিলাম - যার দ্বারা উইজেট প্রকাশের কোডটি জিটিকে + তে উত্সাহিত করা হয়েছে GtkRevealer
:
https://developer.gnome.org/gtk3/stable/GtkRevealer.html
GtkRevealer
স্লাইডের কার্ডিনাল দিকনির্দেশনা এবং অস্বচ্ছতার উপর বিবর্ণ সহ বিভিন্ন ধরণের রূপান্তর সমর্থন করে।
সুতরাং, এই দিনগুলিতে, আপনি উইজেট যুক্ত করার মতোই সহজ যা আপনি কোনওতে রূপান্তর করতে চান এবং এর বৈশিষ্ট্যগুলি GtkRevealer
ব্যবহার করে ।:transition-(type|duration)
:reveal-child