Python 3.8.5
Good day, I keep getting this error message when trying to open Python 3.8.5 on my computer windows 7 , 64 bit. --- python.exe - System Error --- The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is missing from your computer. Try reinstalling the program to fix this problem. --- OK --- kindly assist Regards, Milroy -- https://mail.python.org/mailman/listinfo/python-list
Re: Python 3.8.5
On 2021-01-06, Joseph Milroy Felix Moraes (Moraes) via Python-list wrote: > Good day, > > I keep getting this error message when trying to open Python 3.8.5 on my > computer windows 7 , 64 bit. > > --- > python.exe - System Error > --- > The program can't start because api-ms-win-crt-runtime-l1-1-0.dll is missing > from your computer. Try reinstalling the program to fix this problem. > --- > OK > --- > > kindly assist https://www.google.com/search?q=api-ms-win-crt-runtime-l1-1-0.dll+is+missing -- https://mail.python.org/mailman/listinfo/python-list
Tkinter menu item underline syntax
My application's menu has lines like this: file_menu.add_command( label = 'New', command = self.callbacks['file->new', underline 0], accelerator = 'Ctrl+N' ) Python reports a syntax error when specifying the string index to underline; it rejects both a space and an equals sign (=). In "Modern Tkinter", page 88, the author explains, "Underline "While all platforms support keyboard traversal of the menubar via the arrow keys, on Windows and X11, you can also use other keys to jump to particular menus or menu items. The keys that trigger these jumps are indicated by an underlined letter in the menu item’s label. If you want to add one of these to a menu item, you can use the "underline" configuration option for the item. The value of this option should be the index of the character you’d like underlined (from 0 to the length of the string - 1)." There is no example of the proper syntax and my web searches haven't found one, either. How do I pass a string index to the command to underline that character? TIA, Rich -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter menu item underline syntax
On 2021-01-06 at 10:32:58 -0800, Rich Shepard wrote: > My application's menu has lines like this: > file_menu.add_command( > label = 'New', > command = self.callbacks['file->new', underline 0], > accelerator = 'Ctrl+N' > ) > > Python reports a syntax error when specifying the string index to underline; > it rejects both a space and an equals sign (=). I'm not a TKinter expert (nor even a current user), but that line that begins with whitespace and "command =" looks suspicious. As far as I can see, Python is correct to call it syntactically erroneous. What is self.callbacks? Is it a function, a list of functions, a list of something else? Did you possibly mean to use parentheses "(" and ")" instead of brackets "[" and "]"? Or perhaps some different punctuation between the "[" and the "]"? >From what I remember about TKinter, embedding Tcl/TK code inside strings inside Python can be tricky (to say the least). Sorry I don't have a concrete solution, just more to think about. -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter menu item underline syntax [RESOLVED]
On Wed, 6 Jan 2021, 2qdxy4rzwzuui...@potatochowder.com wrote: I'm not a TKinter expert (nor even a current user), but that line that begins with whitespace and "command =" looks suspicious. As far as I can see, Python is correct to call it syntactically erroneous. Yes, the line above it needed to be terminated by a comma, not \n. I found the answer: underline is an option and options are key: value pairs. So, the correct syntax is underline: 0. Thanks, Rich -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter menu item underline syntax [RESOLVED]
On 2021-01-06 at 11:18:15 -0800, Rich Shepard wrote: > On Wed, 6 Jan 2021, 2qdxy4rzwzuui...@potatochowder.com wrote: > > > I'm not a TKinter expert (nor even a current user), but that line that > > begins with whitespace and "command =" looks suspicious. As far as I can > > see, Python is correct to call it syntactically erroneous. > > Yes, the line above it needed to be terminated by a comma, not \n. > > I found the answer: underline is an option and options are key: value pairs. > So, the correct syntax is underline: 0. Glad you found it. :-) For the sake of future generations who may run into this issue, can you post the complete, correct call to file_menu.add_command? -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter menu item underline syntax
On 1/6/2021 1:32 PM, Rich Shepard wrote: My application's menu has lines like this: file_menu.add_command( label = 'New', command = self.callbacks['file->new', underline 0], accelerator = 'Ctrl+N' ) 'underline' has nothing to do with looking up the command in self.callbacks. It is a keyword parameter for the add_command method, and is handled like all other values passed by name, and as you did for the other arguments file_menu.add_command( label='New', underline=0, command=self.callbacks['file->new], accelerator='Ctrl+N' ) Note: PEP 8 style is no spaces around '=' used for keyword arguments. Here is an example from idlelib.editor, 978. menu.add_command(label=ulchars[i] + " " + file_name, command=callback, underline=0) -- Terry Jan Reedy -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter menu item underline syntax [RESOLVED]
On Wed, 6 Jan 2021, 2qdxy4rzwzuui...@potatochowder.com wrote: For the sake of future generations who may run into this issue, can you post the complete, correct call to file_menu.add_command? This is the working version of the stanza I initially posted: file_menu.add_command( label = 'New', command = self.callbacks['file->new', underline: 0], accelerator = 'Ctrl+N' ) The label line separated from the command with a comma. The underline option is a key and separated from its value with a colon. HTH, Rich -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter menu item underline syntax [RESOLVED]
On Thu, Jan 7, 2021 at 7:43 AM Rich Shepard wrote: > This is the working version of the stanza I initially posted: > > file_menu.add_command( > label = 'New', > command = self.callbacks['file->new', underline: 0], > accelerator = 'Ctrl+N' > ) > > The label line separated from the command with a comma. The underline option > is a key and separated from its value with a colon. > Are you sure that this works? It's syntactically valid, but I don't think it means what you think it does. ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter menu item underline syntax [RESOLVED]
On Thu, 7 Jan 2021, Chris Angelico wrote: Are you sure that this works? It's syntactically valid, but I don't think it means what you think it does. ChrisA, I'm always open to learning. There's no error generated ... yet the application doesn' open so it's time to run it through pdb. Regards, Rich -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter menu item underline syntax [RESOLVED]
On Thu, Jan 7, 2021 at 8:04 AM Rich Shepard wrote: > > On Thu, 7 Jan 2021, Chris Angelico wrote: > > > Are you sure that this works? It's syntactically valid, but I don't > > think it means what you think it does. > > ChrisA, > > I'm always open to learning. There's no error generated ... yet the > application doesn' open so it's time to run it through pdb. > Cool. Terry had something on the subject in the other thread; I think that's a good place to start. (I don't know much about Tkinter, this line of code just looked odd in general Python syntax.) ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter menu item underline syntax [RESOLVED]
On Thu, 7 Jan 2021, Chris Angelico wrote: Cool. Terry had something on the subject in the other thread; I think that's a good place to start. (I don't know much about Tkinter, this line of code just looked odd in general Python syntax.) ChrisA, It's been a long time since I wrote any Python code. Assignments have spaces surrounding equal signs while values to options don't. I think I have the code cleaned now. Regards, Rich -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter menu item underline syntax [RESOLVED]
On 2021-01-06, Rich Shepard wrote: > On Wed, 6 Jan 2021, 2qdxy4rzwzuui...@potatochowder.com wrote: > >> For the sake of future generations who may run into this issue, can you >> post the complete, correct call to file_menu.add_command? > > This is the working version of the stanza I initially posted: > > file_menu.add_command( > label = 'New', > command = self.callbacks['file->new', underline: 0], > accelerator = 'Ctrl+N' > ) I'm completely baffled by that. Can somebody explain how this expression is evaluated? self.callbacks['file->new', underline: 0] It appears that the dict callbacks is being accessed with the key of a tuple comprising a string and a slice. Huh? -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter menu item underline syntax [RESOLVED]
On 1/6/2021 4:03 PM, Rich Shepard wrote: On Thu, 7 Jan 2021, Chris Angelico wrote: Are you sure that this works? It's syntactically valid, but I don't think it means what you think it does. ChrisA, I'm always open to learning. There's no error generated ... yet the application doesn' open so it's time to run it through pdb. See my response, sent an hour ago, for how to use 'underline. -- Terry Jan Reedy -- https://mail.python.org/mailman/listinfo/python-list
Re: Tkinter menu item underline syntax [RESOLVED]
On Thu, Jan 7, 2021 at 9:22 AM Grant Edwards wrote: > > On 2021-01-06, Rich Shepard wrote: > > On Wed, 6 Jan 2021, 2qdxy4rzwzuui...@potatochowder.com wrote: > > > >> For the sake of future generations who may run into this issue, can you > >> post the complete, correct call to file_menu.add_command? > > > > This is the working version of the stanza I initially posted: > > > > file_menu.add_command( > > label = 'New', > > command = self.callbacks['file->new', underline: 0], > > accelerator = 'Ctrl+N' > > ) > > I'm completely baffled by that. Can somebody explain how this > expression is evaluated? > >self.callbacks['file->new', underline: 0] > > It appears that the dict callbacks is being accessed with the key of > a tuple comprising a string and a slice. > Heh, you had to try it to make sure it was valid? Me too. Here's how it's parsed: self.callbacks[ # this bit's non-controversial 'file->new' # string literal , # make tuple underline: 0 # slice(underline, 0, None) ] So it takes the name "underline", whatever that is, and it assumes you want a slice from underline to zero. That's all the second dimension of the indexing, where the first is a simple string literal. ChrisA -- https://mail.python.org/mailman/listinfo/python-list
Class and tkinter problem
Hi! Does anybody know why cmd method isn't called when I change the button state (clicking on it) in this example? I know that this seems a weird class use. But why doesn't it work? Thanks. class C: from tkinter import Checkbutton import tkinter @staticmethod def cmd(): print("Test") top=tkinter.Tk() cb=Checkbutton(command=cmd) cb.pack() @staticmethod def loop(): C.top.mainloop() c=C() c.loop() -- https://mail.python.org/mailman/listinfo/python-list
Re: Class and tkinter problem
Am 07.01.21 um 08:29 schrieb Paulo da Silva: Does anybody know why cmd method isn't called when I change the button state (clicking on it) in this example? I know that this seems a weird class use. But why doesn't it work? Thanks. class C: from tkinter import Checkbutton import tkinter @staticmethod ^^it works if you remove the staticmethod here def cmd(): print("Test") Maybe there is a bug in tkinter, that it doesn't work with static methods? Christian -- https://mail.python.org/mailman/listinfo/python-list