Difference between revisions of "PGU Interface"

From TRCCompSci - AQA Computer Science
Jump to: navigation, search
(PGU Example)
(Changing the theme)
Line 50: Line 50:
  
 
=Changing the theme=
 
=Changing the theme=
PGU has 3 built in themes ready to use (clean, default, gray) you can set which your deskop, app should use:
+
PGU has 3 built in themes ready to use (clean, default, gray) you can set which your desktop or app should use:
  
 
<syntaxhighlight lang=python>
 
<syntaxhighlight lang=python>

Revision as of 12:08, 2 July 2018

Installing PGU

Once you have downloaded the .zip file from here (select the latest version). You can then install the downloaded file, remember to check the actual path to the file. You can type the following into the search box in the python environments panel:

pip install "path/to/file/pgu-0.18.zip

if this doesn't work then you can also try:

  1. When you download PGU from the link above
  2. Unzip it to a folder, remember to maintain the directory structure
  3. inside the folder there are other two folders named "pgu" and "data".
  4. Copy them into your project's/program's root folder and you're done!

PGU Example

You firstly need to create a Desktop (or App() but this doesn't have a backgroud), we then need to connect the QUIT methods.

from pgu import gui

#create gui called app
app = gui.Desktop()

#connect quit logic to gui quit
app.connect(gui.QUIT,app.quit,None)

#container for the gui components
container = gui.Container(width=200,height=120)

#Quit button with quit logic and added onto the container
quitBtn = gui.Button("Quit")
quitBtn.connect(gui.CLICK,app.quit,None)
container.add(quitBtn,25,25)

#Method to run if click button is clicked
def Clicked():
    print("Clicked")

#Click button with logic to run the Clicked method above
clickBtn = gui.Button("Click Me!")
clickBtn.connect(gui.CLICK, Clicked)
container.add(clickBtn,25,75)

#A label with the text added to the container
container.add(gui.Label("Text Label"),25,125)

#finally add container to the app gui
app.run(container)

For multiple screens you could create a container for each screen, and a current container. You can then set the current container to the one you wish to show.

Changing the theme

PGU has 3 built in themes ready to use (clean, default, gray) you can set which your desktop or app should use:

app = gui.Desktop(theme = gui.Theme(['clean','tools'])

Other components

#Slider
def SliderMove():
    print("Slider Moved")

s = gui.HSlider(value=23,min=0,max=100,size=20,width=120)
s.connect(gui.CHANGE, SliderMove)
container.add(s,25, 150)

#Select / List box
def SelectChanged():
    print("Select Changed")

se = gui.Select() 
se.add("Goat",'goat') 
se.add("Horse",'horse') 
se.add("Dog",'dog') 
se.add("Pig",'pig') 
se.connect(gui.CHANGE, SelectChanged)
container.add(se, 25, 200)

#Text area
t = gui.TextArea(value="Some text in a test area", width=150, height=70)
container.add(t, 25, 250)

#Progress bar
p = gui.ProgressBar(0, 0, 100, width = 300) 
p.value = 25
container.add(p, 25, 275)