Merge pull request #2242 from PySimpleGUI/Dev-latest
Cursor demo - Initial checkin
This commit is contained in:
commit
2a2458e041
|
@ -0,0 +1,45 @@
|
|||
import PySimpleGUI as sg
|
||||
import webbrowser
|
||||
|
||||
"""
|
||||
Demonstration of setting an Element's Widget to use a different cursor than the
|
||||
standard arrow. In this case, the cursor is changed into a hand when hovering over the Text Element.
|
||||
|
||||
This implementation relies on accessing the underlying tkinter widget to change the cursor as there is currently no method provided for you to modify a widget's cursor. Accessing an Element's tkinter widget is easy and straightforward, you simply write:
|
||||
window[key].Widget
|
||||
"""
|
||||
|
||||
# Here is a more complete list of cursors you can choose from
|
||||
cursors = ('X_cursor', 'no', 'arrow','based_arrow_down','based_arrow_up','boat','bogosity','bottom_left_corner','bottom_right_corner','bottom_side','bottom_tee','box_spiral','center_ptr','circle','clock','coffee_mug','cross','cross_reverse','crosshair','diamond_cross','dot','dotbox','double_arrow','draft_large','draft_small','draped_box','exchange','fleur','gobbler','gumby','hand1','hand2','heart','icon','iron_cross','left_ptr','left_side','left_tee','leftbutton','ll_angle','lr_angle','man','middlebutton','mouse','no','pencil','pirate','plus','question_arrow','right_ptr','right_side','right_tee','rightbutton','rtl_logo','sailboat','sb_down_arrow','sb_h_double_arrow','sb_left_arrow','sb_right_arrow','sb_up_arrow','sb_v_double_arrow','shuttle','sizing','spider','spraycan','star','target','tcross','top_left_arrow','top_left_corner','top_right_corner','top_side','top_tee','trek','ul_angle','umbrella','ur_angle','watch','xterm','arrow','center_ptr','crosshair','fleur','ibeam','icon','sb_h_double_arrow','sb_v_double_arrow','watch','xterm','no','starting','size','size_ne_sw','size_ns','size_nw_se','size_we','uparrow','wait','arrow','cross','crosshair','ibeam','plus','watch','xterm')
|
||||
|
||||
sg.change_look_and_feel('Light Blue 2')
|
||||
|
||||
layout = [ [sg.Text('Here is a clickable link for you')],
|
||||
[sg.Text('Notice how the cursor switches to a "hand" when hover over the link')],
|
||||
[sg.Text('www.PySimpleGUI.org', font=('default 12 underline'), text_color='blue', enable_events=True, key='-LINK-')],
|
||||
[sg.Text('Try out these additional cursors')],
|
||||
[sg.Text('watch - This makes the spinning-donut-of-death cursor on Windows', key='-WATCH-')],
|
||||
[sg.Text('fleur - The "Move" cursor', key='-FLEUR-')],
|
||||
[sg.Text('trek - Beam me up Scotty!', key='-TREK-')],
|
||||
# [sg.Text('watch -', key='-WATCH-')],
|
||||
# [sg.Text('watch -', key='-WATCH LEFT-')],
|
||||
[sg.Button('Exit')] ]
|
||||
|
||||
window = sg.Window('Window Title', layout, finalize=True)
|
||||
|
||||
# Directly interact with the tkinter widget, changing the cursor shown when placed cursor is over this element
|
||||
window['-LINK-'].Widget.config(cursor='hand2')
|
||||
window['-WATCH-'].Widget.config(cursor='watch')
|
||||
window['-FLEUR-'].Widget.config(cursor='fleur')
|
||||
window['-TREK-'].Widget.config(cursor='trek')
|
||||
window['Exit'].Widget.config(cursor='no')
|
||||
|
||||
while True: # Event Loop
|
||||
event, values = window.read()
|
||||
print(event, values)
|
||||
if event in (None, 'Exit'):
|
||||
break
|
||||
if event == '-LINK-':
|
||||
# if the text was clicked, open a browser using the text as the address
|
||||
webbrowser.open(window['-LINK-'].DisplayText) # accessing DisplayText isn't something you'll see often
|
||||
window.close()
|
Loading…
Reference in New Issue