jetzt nur mit ENTER-Taste
Verfasst: Freitag 3. August 2018, 11:36
Guten Tag blackjack,
zunächst vielen Dank für Deine Hilfe. Ich habe dadurch viel gelernt
Als Anlage eine kleine Liste mit ersten Tests - bin aber schon vieeel weiter.
Test-Eingabe ist jetzt:
call: dh4pb
qsa: 5
qrk: 5
op: fritz
excall: dan
qsa: python
"save" speichert dann alles und zeigt an (hier nicht)
Im Anschluss an diese Liste kommt noch eine Frage.
Hier zeige ich Dir nur, worum es mir bei dem Programm geht.
sri, ich bekomme das nicht in der farbigen python-Darstellung hin.
#!/usr/bin/env python
# coding: utf-8
from __future__ import absolute_import, division, print_function
from functools import partial
import Tkinter as tk
import time ###
##########################
def show_entry_fields():
print("show")
def save_entry_fields(time_label,call_entry):
print("save")
#save fields
#delete fields
call_entry.delete(0, 9)
call_entry.focus_set()
###################
def abgleich(status_label, call_entry, qsa_entry):
if len(call_entry.get()) <1: # == 'dh4pb':
status_label.config(text=' insert new call ', fg='red')
call_entry.delete(0, 9)
call_entry.focus_set()
else:
status_label.config(text=' take other details ', fg='green')
qsa_entry.focus_set()
def invoke_and_break(button, _event):
button.invoke()
return 'break'
###########################
def main():
root = tk.Tk()
root.title("MRD")
root.geometry("600x400")
headline_label = tk.Label(root, bg='white',fg ="red",font = "Helvetica 16 bold")
headline_label.grid(row=0, column=3, sticky=tk.W)
headline_label.config(text="QSO-Menu-c",fg ="red")
################################mrdFenster, ########################
show_label = tk.Label(root, bg='white', fg="blue")
show_label.grid(row=11, column=1, sticky=tk.W)
time_label = tk.Label(root, bg='white', fg="blue")
time_label.grid(row=11, column=3, sticky=tk.W)
status_label = tk.Label(root, bg='white')
status_label.grid(row=0, column=1, sticky=tk.W)
tk.Label(root, text='call').grid(row=1)
call_entry = tk.Entry(root)
call_entry.grid(row=1, column=1)
check_button = tk.Button(root, text='check')
check_button.grid(row=1, column=2, sticky=tk.W, pady=4)
tk.Label(root, text='qsa').grid(row=2)
qsa_entry = tk.Entry(root)
qsa_entry.grid(row=2, column=1)
qsa_entry.insert(1,"5")
tk.Label(root, text='qrk').grid(row=3)
qrk_entry = tk.Entry(root)
qrk_entry.grid(row=3, column=1)
qrk_entry.insert(1,"5")
tk.Label(root, text='op').grid(row=4)
op_entry = tk.Entry(root)
op_entry.grid(row=4, column=1)
tk.Label(root, text='excall').grid(row=5)
excall_entry = tk.Entry(root)
excall_entry.grid(row=5, column=1)
tk.Label(root, text='qra').grid(row=6)
qra_entry = tk.Entry(root)
qra_entry.grid(row=6, column=1)
###
####
save_button = tk.Button(root, text='save')
save_button.grid(row=12, column=1, sticky=tk.W, pady=4)
save_button['command'] = partial(
save_entry_fields, time_label, call_entry)
save_button.bind('<Return>', partial(invoke_and_break, save_button))
root.bind('<Return>', lambda _: root.event_generate('<Tab>'))
check_button['command'] = partial(
abgleich, status_label, call_entry, qsa_entry)
check_button.bind('<Return>', partial(invoke_and_break, check_button))
root.bind('<Return>', lambda _: root.event_generate('<Tab>'))
root.mainloop()
if __name__ == '__main__':
main()
################################
In meinem vorigen TAB-Programm stand recht noch eine Radio button-Auswahl.
der Code dazu stand nach der Fensterbeschreibung. Jetzt bei def main()
weis ich nicht wo ich die hinstellen soll??
Kannst Du mir helfen.
Danke
############################
# Erzeugung des Fensters
mrdFenster = Tk()
mrdFenster.title("MRD")
mrdFenster.geometry("600x400")
w = Label(mrdFenster, text="QSO-Menu",fg ="red",font = "Helvetica 16 bold").grid(ro$
#qssm=read_points()
#print ("qssm ret " , qssm)
################
v = IntVar()
start=20 ###qssm
print ("start =: ", start)
v.set(start) # enthaelt das zuletzt gewaehlte Band
band = [
("80m",80),
("40m",40),
("30m",30),
("20m",20),
("15m",15)
]
def ShowChoice():
print v.get()
Label(mrdFenster, text=" BAND").grid(row=1,column=3,sticky=W)
r = 0
for txt, val in band:
Radiobutton(mrdFenster,
text=txt,
padx = 20,
variable=v,
command=ShowChoice,
value=val).grid(row=r+2,column=3,sticky=W)
r = r + 1
zunächst vielen Dank für Deine Hilfe. Ich habe dadurch viel gelernt
Als Anlage eine kleine Liste mit ersten Tests - bin aber schon vieeel weiter.
Test-Eingabe ist jetzt:
call: dh4pb
qsa: 5
qrk: 5
op: fritz
excall: dan
qsa: python
"save" speichert dann alles und zeigt an (hier nicht)
Im Anschluss an diese Liste kommt noch eine Frage.
Hier zeige ich Dir nur, worum es mir bei dem Programm geht.
sri, ich bekomme das nicht in der farbigen python-Darstellung hin.
#!/usr/bin/env python
# coding: utf-8
from __future__ import absolute_import, division, print_function
from functools import partial
import Tkinter as tk
import time ###
##########################
def show_entry_fields():
print("show")
def save_entry_fields(time_label,call_entry):
print("save")
#save fields
#delete fields
call_entry.delete(0, 9)
call_entry.focus_set()
###################
def abgleich(status_label, call_entry, qsa_entry):
if len(call_entry.get()) <1: # == 'dh4pb':
status_label.config(text=' insert new call ', fg='red')
call_entry.delete(0, 9)
call_entry.focus_set()
else:
status_label.config(text=' take other details ', fg='green')
qsa_entry.focus_set()
def invoke_and_break(button, _event):
button.invoke()
return 'break'
###########################
def main():
root = tk.Tk()
root.title("MRD")
root.geometry("600x400")
headline_label = tk.Label(root, bg='white',fg ="red",font = "Helvetica 16 bold")
headline_label.grid(row=0, column=3, sticky=tk.W)
headline_label.config(text="QSO-Menu-c",fg ="red")
################################mrdFenster, ########################
show_label = tk.Label(root, bg='white', fg="blue")
show_label.grid(row=11, column=1, sticky=tk.W)
time_label = tk.Label(root, bg='white', fg="blue")
time_label.grid(row=11, column=3, sticky=tk.W)
status_label = tk.Label(root, bg='white')
status_label.grid(row=0, column=1, sticky=tk.W)
tk.Label(root, text='call').grid(row=1)
call_entry = tk.Entry(root)
call_entry.grid(row=1, column=1)
check_button = tk.Button(root, text='check')
check_button.grid(row=1, column=2, sticky=tk.W, pady=4)
tk.Label(root, text='qsa').grid(row=2)
qsa_entry = tk.Entry(root)
qsa_entry.grid(row=2, column=1)
qsa_entry.insert(1,"5")
tk.Label(root, text='qrk').grid(row=3)
qrk_entry = tk.Entry(root)
qrk_entry.grid(row=3, column=1)
qrk_entry.insert(1,"5")
tk.Label(root, text='op').grid(row=4)
op_entry = tk.Entry(root)
op_entry.grid(row=4, column=1)
tk.Label(root, text='excall').grid(row=5)
excall_entry = tk.Entry(root)
excall_entry.grid(row=5, column=1)
tk.Label(root, text='qra').grid(row=6)
qra_entry = tk.Entry(root)
qra_entry.grid(row=6, column=1)
###
####
save_button = tk.Button(root, text='save')
save_button.grid(row=12, column=1, sticky=tk.W, pady=4)
save_button['command'] = partial(
save_entry_fields, time_label, call_entry)
save_button.bind('<Return>', partial(invoke_and_break, save_button))
root.bind('<Return>', lambda _: root.event_generate('<Tab>'))
check_button['command'] = partial(
abgleich, status_label, call_entry, qsa_entry)
check_button.bind('<Return>', partial(invoke_and_break, check_button))
root.bind('<Return>', lambda _: root.event_generate('<Tab>'))
root.mainloop()
if __name__ == '__main__':
main()
################################
In meinem vorigen TAB-Programm stand recht noch eine Radio button-Auswahl.
der Code dazu stand nach der Fensterbeschreibung. Jetzt bei def main()
weis ich nicht wo ich die hinstellen soll??
Kannst Du mir helfen.
Danke
############################
# Erzeugung des Fensters
mrdFenster = Tk()
mrdFenster.title("MRD")
mrdFenster.geometry("600x400")
w = Label(mrdFenster, text="QSO-Menu",fg ="red",font = "Helvetica 16 bold").grid(ro$
#qssm=read_points()
#print ("qssm ret " , qssm)
################
v = IntVar()
start=20 ###qssm
print ("start =: ", start)
v.set(start) # enthaelt das zuletzt gewaehlte Band
band = [
("80m",80),
("40m",40),
("30m",30),
("20m",20),
("15m",15)
]
def ShowChoice():
print v.get()
Label(mrdFenster, text=" BAND").grid(row=1,column=3,sticky=W)
r = 0
for txt, val in band:
Radiobutton(mrdFenster,
text=txt,
padx = 20,
variable=v,
command=ShowChoice,
value=val).grid(row=r+2,column=3,sticky=W)
r = r + 1