def message (self)print('nini!'self method (or could build dialog change me access the 'helloinstance try running rad and editing the messages printed by radactions in another windowyou should see your new messages printed in the stdout console window each time the gui' buttons are pressed this example is deliberately simple to illustrate the conceptbut the actions reloaded like this in practice might build pop-up dialogsnew top-level windowsand so on reloading the code that creates such windows would also let us dynamically change their appearances there are other ways to change gui while it' running for instancewe saw in that appearances can be altered at any time by calling the widget config methodand widgets can be added and deleted from display dynamically with methods such as pack_forget and pack (and their grid manager relativesfurthermorepassing new command=action option setting to widget' config method might reset callback handler to new action object on the flywith enough support codethis may be viable alternative to the indirection scheme used earlier to make reloads more effective in guis of coursenot all guis need to be so dynamic imagine game which allows character modificationthough--dynamic reloads in such system can greatly enhance their utility ( 'll leave the task of extending this example with massively multiplayer online role-playing game server as suggested exercise wrapping up top-level window interfaces top-level window interfaces were introduced in this section picks up where that introduction left off and wraps up those interfaces in classes that automate much of the work of building top-level windows--setting titlesfinding and displaying window iconsissuing proper close actions based on window' roleintercepting window manager close button clicksand so on example - provides wrapper classes for the most common window types-- main application windowa transient pop-up windowand an embedded gui component window these window types vary slightly in terms of their close operationsbut most inherit common functionality related to window bordersiconstitlesand close buttons by creatingmixing inor subclassing the class for the type of window you wish to makeyou'll get all its setup logic for free example - pp \gui\tools\windows py ""##############################################################################classes that encapsulate top-level interfaces allows same gui to be mainpop-upor attachedcontent classes may inherit gui coding techniques