Advertisement
Qivex

QButton-Example Pages

Apr 14th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.94 KB | None | 0 0
  1. os.loadAPI("apis/qmain")
  2. os.loadAPI("apis/qformat")
  3. os.loadAPI("apis/qbutton")
  4.  
  5. function initialize()
  6.     --Monitor initialisieren
  7.     mon = qmain.setDefaultScreen("top")
  8.     mon.setTextScale(0.5)
  9.     qmain.clear()
  10.     --Globale Variablen setzen
  11.     beenden = false
  12.     page_count = 3
  13.     page = 1
  14.     --Buttons definieren
  15.     qbutton.setButton("increase", "-->", increasePage, nil, {30, 22}, {7, 3}, {"d", "a"})
  16.     qbutton.setButton("decrease", "<--", decreasePage, nil, {1, 22}, {7, 3}, {"d", "a"})
  17.     qbutton.setButton("end_prog", "Beenden", endProgram, nil, {14, 8}, {9, 3}, {"d", "a"})
  18. end
  19.  
  20. function screen()
  21.     qmain.clear()                           --deaktiviert auch alle vorhandenen Buttons
  22.     qformat.writeMarkup("Page "..tostring(page).."/"..page_count, {29, 1})
  23.     if (page == 1) then                     --Das ist ziemlich sloppy, normalerweise würde man jede Seite einzeln gestalten
  24.         qformat.writeMarkup("&hMehrere Seiten!", {11, 6})
  25.     elseif (page == 2) then
  26.         qformat.writeMarkup("Hier steht &fmega", {11, 6})
  27.         qformat.writeMarkup("wichtiger Text!", {11, 7})
  28.     elseif (page == 3) then
  29.         qbutton.drawButton("end_prog")
  30.     end
  31.     qbutton.drawButton("increase")
  32.     qbutton.drawButton("decrease")
  33. end
  34.  
  35. function increasePage()
  36.     page = page + 1
  37.     if (page == page_count + 1) then
  38.         page = 1
  39.     end
  40. end
  41.  
  42. function decreasePage()
  43.     page = page - 1
  44.     if (page == 0) then
  45.         page = page_count
  46.     end
  47. end
  48.  
  49. function endProgram()
  50.     beenden = true
  51. end
  52.  
  53. --Ich empfehle als Grundaufbau für Programme mit Buttons etwa Folgendes:
  54. initialize()        --initialisiert Monitor, setzt globale Variablen, definiert Buttons o.ä.
  55. screen()            --Zeichnet die Startseite
  56. while (beenden == false) do                                     --solange nicht beendet wird:
  57.     local event, side, x, y = os.pullEvent("monitor_touch")     --Warte bis User auf Monitor klickt
  58.     if qbutton.clickOn({x, y}, side) then                       --Wenn ein Button getroffen wurde:
  59.         screen()                                                --Zeichne die aktuelle Seite (meist abhängig von globaler Variable)
  60.     end
  61. end
  62. qmain.clear()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement