Use global, or not
Cecil Westerhof
Cecil at decebal.nl
Fri Jun 28 09:44:14 EDT 2019
I have written a GUI program where I have quit a few global variables.
I did not like this, so I now use one global dict. Something like:
global global_dict
canceled_report = 'Genereren rapportage gecanceled.'
created_report = 'Rapportage voor {} bestanden is gemaakt.'
error_append = 'Er ging iets fout bij het toevoegen van een record.'
error_generate = 'Er ging iets fout bij het genereren van de rapportage.'
error_select = 'Er ging iets fout bij het selecteren van de directory.'
error_widening = 'Er ging iets fout bij instellen van de wijdte.'
error_nofiles = 'Er zijn geen bestanden om te verwerken.'
messages = {
'canceled': canceled_report,
'created': created_report,
'append': error_append,
'generate': error_generate,
'select': error_select,
'widening': error_widening,
'nofiles': error_nofiles,
}
error_str = 'Foutmelding'
info_str = 'Info'
warning_str = 'Waarschuwing'
titles = {
'error': error_str,
'info': info_str,
'warning': warning_str,
}
.
.
.
window = Tk()
.
.
.
progress = ttk.Progressbar(progress_frame, orient = 'horizontal',
length = 200, mode = 'determinate')
.
.
.
global_dict = {
'messages': messages,
'progress': progress,
'window': window,
}
And in the program do things like:
global_dict['progress']['value'] += 1
global_dict['window'].update_idletasks()
global_dict['window'].update_idletasks()
and:
messagebox.showwarning(global_dict['titles']['warning'],
global_dict['messages']['nofiles'])
Is that an acceptable way to do this?
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
More information about the Python-list
mailing list