জিইউআই কীভাবে কাজ করে এবং কখন আমার এটি ব্যবহার করা উচিত তা কী কেউ ব্যাখ্যা করতে পারেন? [বন্ধ]


16

আমি এখন প্রায় একমাস ধরে সি ++ শিখছি এবং আরও কিছু করার আগে আমি এই ক্লান্তিকর প্রশ্নটি আমার কাছে রেখে দিতে চাই। আমি জানি যে জিইউআই কী, তবে আমি জানি না এটি কীভাবে কাজ করে এবং সম্ভবত জনপ্রিয়গুলির উদাহরণ?

যদিও আমি জানি কমান্ড লাইন প্রোগ্রামিংটি খালি মৌলিক বিষয়, তবে আমি মনে করি জিইউআইয়ের সাথে গোলমাল করতে মজা পাবে।

যদিও আমার প্রায় 3 মিলিয়ন অন্যান্য প্রশ্ন রয়েছে, তবে আমি সেগুলি সংরক্ষণ করব: ডি


1
শেষ লাইনটি আমাকে
হাসিয়ে দিয়েছে

উত্তর:


28

আমি বেশ কয়েকটি জিইআইআই লাইব্রেরির উপর সাধারণীকরণ করছি তবে খুব উচ্চ স্তরে আপনার যে সবচেয়ে গুরুত্বপূর্ণ ধারণাটি বুঝতে হবে তা হ'ল একটি জিইউআই ইভেন্ট চালিত

কোনও কনসোল অ্যাপ্লিকেশনটিতে আপনার ব্যবহারকারীর ইনপুট সাধারণত নির্দিষ্ট নির্দিষ্ট পয়েন্টে ঘটে যা আপনি সংজ্ঞায়িত করেছেন। আপনি আপনার ব্যবহারকারীকে অনুরোধ করবেন, আপনি তার ইনপুটটির জন্য অপেক্ষা করুন, আপনি সেই ইনপুটটির ভিত্তিতে কিছু গণনা করুন। প্রধান পার্থক্যগুলির মধ্যে একটি হ'ল ইনপুটটি কেবলমাত্র এক জায়গায় ঘটে , আপনি কমান্ডলাইন ( stdinসি ++ এ) পাঠ্য পড়ছেন ।

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

এখানে একটি "সি ++ অনুপ্রাণিত" উদাহরণ রয়েছে, এটি আসল কিউটি বা সি ++ কোড নয়।

class MyClickHandler : public ClickListener{
   void clickHandler(ClickEvent e){
      showAlertBox("The button "+e.getSource().getName()+" has been clicked"); 
   }
};

আপনি বাটনটি তৈরি করার সময়, আপনি বোতামটির বিপরীতে মাই ক্লিকহ্যান্ডলার শ্রেণীর একটি উদাহরণ নিবন্ধ করুন।

...
MyClickHandler handler();
Button b("Save");
b.registerListener(handler);
...

এখন যতবার বাটন bক্লিক করা হবে বার বার "বার্তা সংরক্ষণের ক্লিক করা হয়েছে" বলে বার্তা বাক্সটি প্রদর্শিত হবে।

আপনি কল্পনা করতে পারেন একটি জিইউআই অ্যাপ্লিকেশনটির দুটি ধাপ রয়েছে:

  • জিইউআই স্থাপন করুন: প্রারম্ভকালে একটি সংক্ষিপ্ত সময়, যেখানে সমস্ত বস্তু একে অপরের সাথে তৈরি এবং সংযুক্ত থাকে।
  • ঘটনা লুপ : আপনার গুই যখন লুপ এক বড় এবং ঠিক আছে বসে আছেন অলসতা পর্যন্ত এমন একটি ইভেন্টের সূত্রপাত হয়।

এটি একটি খুব সাধারণ উদাহরণ, তবে আমি কোনও বাটনে ক্লিক করা হলে একটি বার্তা বাক্স দেখানোর চেষ্টা করার জন্য আপনি যে ফ্রেমওয়ার্কটি বেছে নেন তা নিয়ে আমি সুপারিশ করব।

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

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


আপনি যদি শ্রেণীর সংজ্ঞাটির শেষে একটি অর্ধিকোলন যুক্ত করেন এবং উত্তরাধিকারটিকে সর্বজনীন করে থাকেন তবে এটি যথাযথ / সম্ভব সি ++ বাক্য গঠন হবে।
Lstor

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

1
+1 এ প্রশ্নের একমাত্র উত্তর বলে মনে হচ্ছে (আমার কাছে মনে হয় তিনি কেবল ফ্রেমওয়ার্ক সম্পর্কেই জিজ্ঞাসা করছেন না, তিনি সাধারণ ধারণাগুলি সম্পর্কে জিজ্ঞাসা করছেন)
ফেডারিকো ক্লেজ কুলোকা

1
Ewwww .... কুরুচিপূর্ণ শ্রোতার বাজে।
ডেড এমজি

7

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


1
কিউটিটির জন্য +1 - @ ডেভিড - কিউটি এর নিজস্ব বিকাশের পরিবেশ রয়েছে যার নাম কিউটি ক্রিয়েটার যা অন্যের তুলনায় স্বতঃস্ফূর্ত, মুক্ত এবং তুলনামূলক সহজ। কিউটি শক্তিশালী, স্বজ্ঞাত, বিস্তৃত, খুব ভাল নথিভুক্ত এবং বৃহত এবং সক্রিয় ব্যবহারকারী বেস সহ। এটি শুরু করা সহজ এবং এর সাথে খেলতে এবং নিজের কাজটি করা শুরু করার জন্য প্রচুর উদাহরণ রয়েছে - যা উপায় দ্বারা শিখার দুর্দান্ত উপায়। এটি এখানে
রজার অ্যাট্রিল

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

3

আপনিও দিয়ে শুরু করতে পারেন মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও সি ++ এক্সপ্রেস । আইডিই খুব বন্ধুত্বপূর্ণ এবং সহজেই ব্যবহারযোগ্য (এবং বিনামূল্যে!), এবং আপনি খুব দ্রুত আপনার প্রথম জিইউআই অ্যাপ্লিকেশন তৈরি করতে সক্ষম হবেন ... যা আপনাকে ইভেন্ট-চালিত প্রোগ্রামিংয়ের বেসিকগুলি বোঝার ক্ষেত্রে মনোনিবেশ করতে সহায়তা করবে , একটি ভিন্ন পদ্ধতির যে আপনি মাস্টার প্রয়োজন হবে।

আপনি সরাসরি ডাব্লুপিএফ চালিত অ্যাপ্লিকেশনগুলি তৈরির মাধ্যমেও শুরু করতে পারেন, তবে আমি প্রথমে উইন্ডোজ ফর্মগুলির সাথে শুরু করব, এটি মাইক্রোসফ্টের উইন্ডোজ ফর্মস এপিআইয়ের সাথে কেবলমাত্র বেসিক সি ++ হওয়ায় এটি একটি প্রযুক্তি কম less


1
ভিসি ++ এক্সপ্রেসে আপনি এর সাথে জিইউআই লিখতে পারেন: 1. উইন 32 এপিআই যা খুব পুরাতন, জটিল এবং কেবল হাস্যকর M 2. এমএফসি যা ক্র্যাপের পুরানো গাদা 3.. ডাব্লুটিএল যা ভাল তবে ক্রস-প্ল্যাটফর্ম নয়। ৪. সি ++ / সিএলআই যা অপ্রিয়, খারাপভাবে সমর্থিত (এমনকি কোনও ইন্টেলিজেন্সও নয়) এবং খুব জটিল। কিউটিটি সহজ, ক্রস-প্ল্যাটফর্ম, দুর্দান্ত জিইউআই ডিজাইনার রয়েছে এবং এতে প্রচুর পরিমাণে দরকারী নন-জিইউআই ক্লাস রয়েছে যা এর ছোট স্ট্যান্ডার্ড লাইব্রেরির সাথে সি ++ তে অত্যন্ত গুরুত্বপূর্ণ।
আন্তন বারকোভস্কি

0

স্ট্যাকওভারফ্লোতে আরও উপযুক্ত, ট্যাগ সি ++; তবে যাই হোক।

গুগলে এগুলির কয়েকটি দেখুন; কিউটি, ডাব্লুএক্সউজেডস, দ্য ফোর্জার্সের উইনপি, ফ্ল্যাটক ...

জিইউআইগুলি ব্যবহার করা এতটা কঠিন নয়, বিশেষত একবার আপনি ইতিমধ্যে সি ++ জানলে। ডাব্লুএক্সউজেডস আমি গণনা করি; এক মাসের শিক্ষার জন্য কিউটি কিছুটা জটিল। আপনি কয়েক ঘন্টা মধ্যে Wx বাছাই করতে পারেন।


-1

ব্যবহারকারীরা জটিল জিনিস পছন্দ করেন না। কনসোল একটি জটিল জিনিস, এজন্য আপনাকে জিইউআই অ্যাপ্লিকেশন তৈরি করতে হবে যা আরও বন্ধুত্বপূর্ণ এবং সহজে বোঝা যায়। এটি আমি সবচেয়ে স্পষ্ট কারণ দেখছি। আপনি gtk বা Qt- এ দেখতে পারেন - এই দু'টিই সবচেয়ে জনপ্রিয়।


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