জিটিকে কম্পিউটারের শারীরিক পর্দার আকার কীভাবে সনাক্ত করতে হয়


8

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

এর মধ্যে, নীচের বোতামগুলি স্ক্রিনের সীমা ছাড়িয়ে যায় এবং ব্যবহার করা যায় না। আমি এটি ব্যবহারকারীর ইন্টারফেসে বিবেচনায় নিতে চাই তবে সবার আগে আমি জিটিকে স্ক্রিনের আকার সনাক্ত করার মানক উপায়টি যদি খুঁজে পাই তবে তা খুঁজে বের করতে চাই।

তাহলে কীভাবে এটি করা যায় সে সম্পর্কে কারও কোনও ধারণা আছে?


কেবল মস্তিষ্কের: বিভিন্ন আকারের মাল্টি-মনিটরের সেটআপগুলি সম্পর্কে কী?
উইলমন্তাস বড়ানউস্কাস

মনে হচ্ছে এখানে পর্দার আকার ব্যবহার করা ভুল সমাধান। উইন্ডোজের কোনও ভালো স্ক্রিনশট রয়েছে যেখানে এই সমস্যা?
dobey

বাগের প্রতিবেদনগুলিতে কয়েকটি রয়েছে: বাগস.লানচপ্যাড.এন.কিউটার / + bug/ 1015138 /+ attachment / 3196020/… এবং লঞ্চপ্যাডলিবারিয়ান.
ডেভিড প্লানেলা

উত্তর:


11
from gi.repository import Gdk
s = Gdk.Screen.get_default()
print(s.get_width())
print(s.get_height())

অবশ্যই আপনার যদি একাধিক স্ক্রিন থাকে তবে এটি উভয়কে ঘিরে একটি আয়তক্ষেত্রের আকার দেয়। একাধিক স্ক্রিনযুক্ত বিশ্বে এই স্টাফটি যা শোনা যায় তার চেয়ে শক্ত ...


স্বতন্ত্র প্রদর্শনের আকার, আইআইআরসি পাওয়ার জন্য আপনাকে আসলে স্ক্রিনের পরিবর্তে প্রদর্শন করতে হবে।
dobey

14.04 এ পরীক্ষিত, এটি কাজ করে।
শেঠ

আপনার যদি একাধিক মনিটর থাকে তবে স্ক্রিনের আকারটি আরও বড়। উপরের সমাধানটি কোনও মনিটরের আকার চাইলে কাজ করে না । তার জন্য @ আসডিনের উত্তর দেখুন।
guettli

আমি হ্রাসকারী সতর্কতা দেখছি: get_width হ্রাস করা হয়েছে
NoBugs

6

আমি এখানে যা এলাম:

from gi.repository import Gdk, Gtk

# Replace w with the GtkWindow of your application
w = Gtk.Window()
# Get the screen from the GtkWindow
s = w.get_screen()
# Using the screen of the Window, the monitor it's on can be identified
m = s.get_monitor_at_window(s.get_active_window())
# Then get the geometry of that monitor
monitor = s.get_monitor_geometry(m)
# This is an example output
print("Heigh: %s, Width: %s" % (monitor.height, monitor.width))

আমি নিশ্চিত নই যে এটিকে 'স্ট্যান্ডার্ড' বলা হবে তবে আমি আশা করি এটি কার্যকর হবে।


আপনাকে অনেক ধন্যবাদ. উইন্ডোটি এখনও উপলব্ধি না করা হলেও আপনার সমাধান কাজ করে works
guettli

3

আমি যা বলতে চাই তা হল নীচের প্রশ্নের উত্তর:

উইন্ডোটি সর্বাধিক করা গেলে কত বড় হবে?

কারণ একাধিক স্ক্রিন সেটআপের পাশাপাশি শীর্ষ সমস্যাগুলি যেমন প্যানেলগুলির আকার, নীচের প্যানেলগুলি (উবুন্টুতে আর নয়, তবে অন্যান্য ডিস্ট্রোস নেই), উইন্ডো সজ্জকার, ... এটি আসলে জিটিকে দ্বারা পরিচালিত হয় না তবে উইন্ডো দ্বারা পরিচালিত হয় ম্যানেজার। সুতরাং আপনি উইন্ডো ম্যানেজারটিকে প্রকৃতপক্ষে সর্বাধিককরণ করতে না দিলে আমি এই সংখ্যাটি পাওয়ার কোনও উপায় দেখছি না।

সুতরাং এই প্রশ্নের উত্তর সহজ:

from gi.repository import Gtk, GObject
w = Gtk.Window()
w.maximize()
def p():
    print w.get_size()
GObject.timeout_add(1000, p)
w.show()
Gtk.main()

সুতরাং আপনি একটি উইন্ডো তৈরি করতে পারেন, এটি সর্বাধিক করে তুলুন এবং তারপরে যুক্তিসঙ্গত আকারের উইজেটগুলি সহ এটি তৈরি করতে শুরু করুন।


2

আপনি এই পদ্ধতির সাহায্যে মিলিমিটারে প্রস্থ এবং উচ্চতা পেতে পারেন:

from gi.repository import Gdk
display = Gdk.Display.get_default()
monitor = display.get_monitor(0)
return monitor.get_width_mm(), monitor.get_height_mm()
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.