জেনটির সাথে ডকুমেন্টেড কম্বো বাক্সের ব্যবহার কোথায়?


11

আমি সুযোগে খুঁজে পেয়েছি যে জেনিটির সাথে একটি কম্বো বাক্স প্রদর্শিত সম্ভব (সংস্করণ পরীক্ষা করা হয়েছে: 2.32.1)। নিম্নলিখিত কোডটি দেখুন:

#!/bin/bash
array=(a b c d e)
value=$(zenity --entry --title "Window title" --text "${array[@]}" --text "Insert your choice.")

ফলাফলটি নিম্নলিখিত 3 টি চিত্রের সাথে চিত্রিত হয়েছে:

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

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

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

সে সম্পর্কে আমার দুটি প্রশ্ন রয়েছে:

  1. এই কার্যকারিতা সম্পর্কে কোন নথি আছে? জেনটি ডকুমেন্টেশনে আমি কিছু পাইনি

  2. আমার অ্যারের প্রথম মানটি কম্বো বাক্সে কেন উপস্থিত হবে না? উপরের উদাহরণে, আমার অ্যারেটি (a b c d e)এবং কম্বো বাক্সটি কেবল প্রদর্শিত হয় b c d e

    একটি workaround হিসাবে, আমি উদাহরণস্বরূপ আমার অ্যারে একটি মান যোগ করুন (0 a b c d e)

উত্তর:


5

অ্যারের প্রথম উপাদানটি খেয়ে যায় --text। সম্প্রসারণের পরে, আপনার জেনিটি লাইনের মতো দেখাচ্ছে:

zenity --entry --title "Window title" --text a b c d e --text "Insert your choice."
# Which zenity treats equivalent to
zenity --entry --title "Window title" --text a --text "Insert your choice." b c d e

সুতরাং আপনি প্রথমে পাঠ্যটি সেট করেছেন a, তারপরে আপনি এটিকে "আপনার পছন্দ সন্নিবেশ করুন" দিয়ে ওভাররাইড করুন। এবং বাকী যুক্তিগুলি পছন্দ হয়ে যায়।

আপনি যা চান তা হ'ল:

zenity --entry --title "Window title" --text "Insert your choice." a b c d e
# Hence:
zenity --entry --title "Window title" --text "Insert your choice." "${array[@]}"

4

এটি আসলে নথিভুক্ত করা হয়েছে (সম্ভবত প্রশ্ন পোস্ট করার সময় নয়, চেক করা হয়নি), ম্যানুয়ালটিতে নয় তবে এতে zenity --help-forms :

$ LANG=en_US zenity --help-forms
Usage:
  zenity [OPTION...]

Forms dialog options
  --forms                                           Display forms dialog
  --add-entry=Field name                            Add a new Entry in forms dialog
  --add-password=Field name                         Add a new Password Entry in forms dialog
  --add-calendar=Calendar field name                Add a new Calendar in forms dialog
  --add-list=List field and header name             Add a new List in forms dialog
  --list-values=List of values separated by |       List of values for List
  --column-values=List of values separated by |     List of values for columns
  --add-combo=Combo box field name                  Add a new combo box in forms dialog
  --combo-values=List of values separated by |      List of values for combo box
  --show-header                                     Show the columns header
  --text=TEXT                                       Set the dialog text
  --separator=SEPARATOR                             Set output separator character
  --forms-date-format=PATTERN                       Set the format for the returned date

অতএব:

zenity --forms --title "Window title" --text "Combo name" --add-combo "Insert your choice." --combo-values "a|b|c|d|e"

3

আমি মনে করি আপনি --text-entryমানগুলির অ্যারে ব্যবহার করতে চান , --text( রেফারেন্স ) নয়। ব্যবহার:

#!/bin/bash
array=(a b c d e)
value=$(zenity --entry --title "Window title" --entry-text "${array[@]}" --text "Insert your choice.")

আমি ড্রপডাউন বাক্সের ডিফল্ট মানটি অ্যারের প্রথম মানের সাথে পূর্বে ভরা এবং সমস্ত মান উপলব্ধ।


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