কিউটি-ডিজাইনারের সাথে স্বয়ংক্রিয়ভাবে প্রসারিত বিন্যাস


217

আমি কিউটি ডিজাইনার ব্যবহার করছি।

আমি এমন একটি তৈরি করতে চাই QVBoxLayoutযা পুরো উইন্ডোটি স্বয়ংক্রিয়ভাবে প্রসারিত হবে।

QVBoxLayoutঅবশেষ লেআউট স্থির।

আমি কীভাবে QVBoxLayoutডিজাইনারের মাধ্যমে পুরো উইন্ডোটি প্রসারিত এবং পূরণ করতে পারি ?


: আপনি শুধু কিউটি ডিজাইন ব্যবস্থার মধ্যে uset বিন্যাস করতে চান তাহলে, টিপস নর্দন করার ref দয়া stackoverflow.com/questions/1508939/qt-layout-on-qmainwindow

উত্তর:


366

আপনার QVBoxLayoutকিউটি ডিজাইনার তৈরির পরে , আপনার উইজেট / ডায়লগ / উইন্ডোটির পটভূমিতে ডান ক্লিক করুন (এটি নয় QVBoxLayout, তবে প্যারেন্ট উইজেট) এবং প্রসঙ্গ-মেনুটির নীচে থেকে গ্রিডে লেআউট -> লেআউট নির্বাচন করুন । QVBoxLayoutএখন জানালা মাপসই প্রসারিত হবে এবং যখন সমগ্র উইন্ডোর আকার পরিবর্তন করা হয় স্বয়ংক্রিয়ভাবে মাপ পরিবর্তন করতে হবে।


6
আপনাকে ধন্যবাদ, আমি পাশাপাশি এই সমস্যার সমাধান খুঁজছি।
সাইমন এইচ।

35
আসলে, আপনার গ্রিড বিন্যাসটি তৈরি করার দরকার নেই all নিজেই কিউবিবক্সলআউট তৈরি করার পরিবর্তে, সমস্ত আইটেম নির্বাচন না করা এবং উইজেটের পটভূমিতে ক্লিক করুন। তারপরে লেআউট -> উল্লম্বভাবে লেআউট নির্বাচন করুন।
মিশাল কোটম্যান

3
@ মিশল কোটম্যান: এটি কেবল ডিজাইনের সময় কাজ করে। ব্যবহারকারী রান সময় উইন্ডোটির আকার পরিবর্তন করলে এটি বিন্যাস পরিবর্তন করবে না।
জয়

5
গ্রিড এবং উল্লম্ব লেআউট উভয়ই আমার জন্য ডিজাইন এবং রানটাইমের সময় কাজ করে।
AndiDog

2
আমি কিছুটা বিশদ যুক্ত করতে চাই: আপনি যদি কোনও QTabWidget পৃষ্ঠায় একটি স্ব-প্রসারিত বিন্যাস যুক্ত করতে চান তবে আপনি পৃষ্ঠার ব্যাকগ্রাউন্ডে ডান-ক্লিক করতে পারবেন না, যেমন আপনি QTabWgetget নির্বাচন করবেন এবং প্রাসঙ্গিক ট্যাবটি নয়। আপনি যত ডিজাইনার উইন্ডোতে দেখানো ট্যাব লেবেলের উপর ডান ক্লিক করতে হবে, এবং তারপর নির্বাচন লে আউট -> একটি গ্রিড রাখা আউট
Emanuele, Cipolla

15

ডকুমেন্টেশন অনুসারে , শীর্ষ স্তরের বিন্যাস সেট থাকা দরকার needs

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

আপনি নির্বাচনটি সাফ করে নিজেই ফর্মটিতে ডান ক্লিক করে এবং প্রসঙ্গ মেনুতে উপলভ্য বিন্যাসগুলির মধ্যে একটি চয়ন করে সেট করতে পারেন।

Qt বিন্যাস


2

আমি একটি "ফিট থেকে স্ক্রিন" সম্পত্তি খুঁজে বের করার চেষ্টা করেছি কিন্তু এরকম কোনও নেই।

তবে উইজেটের "সর্বোচ্চ আকার "টিকে" কিছু বড় সংখ্যায় "সেট করা (2000 x 2000 এর মতো) স্বয়ংক্রিয়ভাবে উইজেটটিকে প্যারেন্ট উইজেটের জায়গাতে ফিট করে।


6
রেটিনা ডিসপ্লে (2880x1800) সহ একটি ম্যাকবুক প্রোতে এই কৌশলটি দিয়ে কী ঘটে?
ta.speot.is

1
এটি গ্রহণযোগ্য সর্বোচ্চ সংখ্যায় সেট করুন (যা ডিজাইনার আমাকে 16777215 দেখায়) এবং এটি কোনও মনিটরের আকারে কাজ করা উচিত।
andreb

0

একবার আপনি এতে কমপক্ষে একটি উইজেটের সাথে আপনার বিন্যাস যুক্ত করলে, আপনার উইন্ডোটি নির্বাচন করুন এবং QtDesigner এর "আপডেট" বোতামটি ক্লিক করুন। ইন্টারফেসটি সবচেয়ে অনুকূলিত আকারে পুনরায় আকার দেওয়া হবে এবং আপনার বিন্যাসটি পুরো উইন্ডোতে ফিট করবে। তারপরে উইন্ডোটির আকার পরিবর্তন করার সময়, একই পদ্ধতিতে বিন্যাসটি পুনরায় আকার দেওয়া হবে।


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

-7

নিয়ন্ত্রণ / উইজেটগুলির জন্য অনুভূমিক পলিসি এবং ভার্টিকাল পলিসিকে "পছন্দসই" এ সেট করুন

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