வாலா + ஜி.டி.கே 3 பயன்பாட்டை உருவாக்குகிறது. [1 வது பகுதி]

பிறகு முதல் இடுகை "ஹலோ உலகம்" என்பதை விட சிக்கலான ஒன்றைத் தொடங்குவது நல்லது என்று நான் ஒரு கருத்தைப் படித்தேன், பின்னர் நான் ஒரு காட்சியை உருவாக்குவேன் (3 அல்லது 4) ஒரு எளிய பயன்பாட்டை உருவாக்கும் இடுகை (வாலா + ஜி.டி.கே 3 உடன்).

பயன்பாடு ஒரு எளிய பல தேர்வு கேள்வி பதில் விளையாட்டை (ட்ரிவியா வகை) கொண்டிருக்கும், இதில் 3 கேள்விகளுக்கு பதிலளிப்பது தவறாக முடிவடைகிறது (விளையாட்டு முடிந்துவிட்டது), மற்றும் முடிந்தவரை பல கேள்விகளுக்கு பதிலளிப்பதே குறிக்கோள், ஒவ்வொரு கேள்விக்கும் உங்களுக்கு ஒரு குறிப்பிட்ட நேரம் பதிலளிக்க.

வடிவமைப்பு

எங்கள் பயன்பாட்டின் முக்கிய வடிவமைப்பு:

பயன்பாட்டை

பின்னர் சில பொத்தான்களை வைப்போம், அது எங்களுக்கு 50% (இரண்டு தவறான பதில்களை நீக்குகிறது), நேரத்தை முடக்கு, ஒரு கேள்வியை அனுப்பும். அவை அனைத்தும் ஒரு முறை மட்டுமே பயன்படுத்தப்பட முடியும், ஒருமுறை பயன்படுத்தப்பட்டால் முடக்கப்படும்.

வடிவமைப்பு ஒரு குறியீடு
வடிவமைப்பில் நாம் காணக்கூடியபடி, நாம் பயன்படுத்தும் ஜி.டி.கே கூறுகளைக் காணலாம்:

பதில்கள் -> பொத்தான்.

கேள்வி -> லேபிள்.

நேரம் -> ProgressBar.

தவறான / சரியான புள்ளிகள் மற்றும் கேள்விகள் -> லேபிள்.

எங்களிடம் செங்குத்து அமைப்பு இருப்பதைக் காணலாம், எனவே ஜிபாக்ஸை செங்குத்தாகப் பயன்படுத்தலாம்.

குறியீடு

int main (string [] args) {Gtk.init (ref args); var சாளரம் = புதிய Gtk.Window (); window.title = "பயன்பாடு"; window.window_position = Gtk.WindowPosition.CENTER; window.set_default_size (300, 340); window.destroy.connect (Gtk.main_quit); window.set_border_width (10); // செங்குத்து பெட்டி var பெட்டி = புதிய Gtk.Box (Gtk.Orientation.VERTICAL, 0); box.set_spacing (10); // கேள்விக்கான லேபிள் var கேள்வி = புதிய Gtk.Label ("கேள்வி?"); // நிரலாக்க நேர பட்டி var time_bar = புதிய Gtk.ProgressBar (); timebar.set_text ("நேரம்"); time_bar.set_show_text (உண்மை); // மறுமொழி பொத்தான்கள் var response1 = புதிய Gtk.Button.with_label ("பதில் 1"); var responsesta2 = புதிய Gtk.Button.with_label ("பதில் 2"); var responsesta3 = புதிய Gtk.Button.with_label ("பதில் 3"); var responsesta4 = புதிய Gtk.Button.with_label ("பதில் 4"); // லேபிள்கள் தகவல் var புள்ளிகள் = புதிய Gtk.Label ("புள்ளிகள்: 0"); box.pack_start (கேள்வி); box.pack_start (time_bar); box.pack_start (பதில் 1); box.pack_start (ரெஸ்போஸ்டா 2); box.pack_start (ரெஸ்போஸ்டா 3); box.pack_start (ரெஸ்போஸ்டா 4); box.pack_start (புள்ளிகள்); window.add (பெட்டி); window.show_all (); Gtk.main (); திரும்ப 0;}

2013-11-02 21:44:14 முதல் பிடிப்பு

"நேரத்தை" நகர்த்த நாம் GLib.Timeout ஐப் பயன்படுத்துகிறோம், அங்கு ஒவ்வொரு 500 மில்லி விநாடிகளும் செயல்படுத்தப்படும் (இது எங்கள் பட்டியின் மதிப்பைக் கொண்ட மாறி அதிகரிக்கும் ஒரு வளையமாகும்)

GLib.Timeout.add (500, () => {// தற்போதைய முன்னேற்றத்தைப் பெறுங்கள்: // (0.0 -> 0%; 1.0 -> 100%) இரட்டை முன்னேற்றம் = time_bar.get_fraction (); // பட்டியைப் புதுப்பிக்கவும்: முன்னேற்றம் = முன்னேற்றம் + 0.01; நேர_பார்.செட்_பிராக்ஷன் (முன்னேற்றம்); // 100% வருவாய் முன்னேற்றம் <1.0;}) வரை மீண்டும் செய்யவும்;

ஆர்வத்தின் இணைப்புகள் 
http://www.valadoc.org/#!wiki=index (நீங்கள் அனைத்து ஜி.டி.கே கூறுகளையும் அவற்றின் முறைகள் மூலம் காணலாம் ...)


உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.

  1.   லோசனோடக்ஸ் அவர் கூறினார்

    மிகவும் நல்லது, நான் எப்படி ஒரு வகையான தாவல்களை உருவாக்க முடியும் என்று கேட்கிறேன், ஆனால் செங்குத்தாக, அவை தாவல்களாக இருக்க வேண்டிய அவசியமில்லை என்றாலும், அவை பொத்தான்கள் அல்லது மாற்று பொத்தான்களாக இருக்கலாம், ஆனால் எனக்கு ஒரு தாவலின் நடத்தை தேவை, அதன் உள்ளடக்கத்தை 1 ஐத் தொடும்போது மற்ற தாவல் முடக்கப்பட்டுள்ளது, நான் என்னை விளக்குகிறேனா என்று எனக்குத் தெரியவில்லை, விசாரிக்க சில தகவல்களை நீங்கள் தர முடியுமா என்று பார்க்க ஒரு படத்தை விட்டு விடுகிறேன். நன்றி!

    படம்: http://i.imm.io/1jURw.png

    1.    லால்பிம்போ அவர் கூறினார்

      «தளவமைப்பு» அல்லது உரை மாற்றம் (எடுத்துக்காட்டாக)?

  2.   பாண்டேவ் 92 அவர் கூறினார்

    காடலான் பார்லா

  3.   திகைத்துப்போனது அவர் கூறினார்

    உண்மையில் இது மிகவும் நல்லது, இது நான் தேடிக்கொண்டதைப் போன்றது, ஒரு கேள்வி, இந்த கேள்வியை எந்த வகையிலும் முனையத்துடன் இணைக்க முடியுமா?
    எடுத்துக்காட்டு: தொடங்குவதற்கு நான் வரம்பற்ற நிலையில் விடுகிறேன் என்று பதிலளிக்க நேரம் எடுத்துக்கொள்கிறேன், அதுதான் நான் செய்ய விரும்புகிறேன்.

    நீங்கள் எந்த டெஸ்க்டாப் சூழலை நிறுவ விரும்புகிறீர்கள்?
    கேபசூ
    ஜினோம் 3
    இலவங்கப்பட்டை
    ஒற்றுமை

    இவை ஒவ்வொன்றும் முனையத்தில் அந்தந்த நிறுவல் கட்டளையுடன் இணைக்கப்பட்டிருந்தன, sudo apt-get install ubuntu-desktop

    1.    லால்பிம்போ அவர் கூறினார்

      ஆம், நீங்கள் Process.spawn_command_line_async ("apt-get install ubuntu-desktop") எழுத வேண்டும்;

      http://valadoc.org/#!api=glib-2.0/GLib.Process.spawn_command_line_sync

  4.   சவுல் யூரிப் அவர் கூறினார்

    சிறந்தது, நான் இடுகையை விரும்புகிறேன், நான் பயிற்சி செய்வேன் (மேலும் முன்னேற நான் பார்க்கிறேன்), வாழ்த்துக்கள்