I'm actually trying to create ttk.Spinbox from tkinter.Spinbox. I can manipulate codes below like ttk.Scrollbar pattern. tkinter.Spinbox button gives an old look for my GUI that is why i want to ttk.Spinbox.
Edit:
I am using Python 3.4 on Windows 7 OS. I need a themed Spinbox widget. ttk.__init__ file has not Spinbox class/module. So, I open that file and wrote codes just like Scrollbar class given below.
class Scrollbar(Widget, tkinter.Scrollbar):
"""Ttk Scrollbar controls the viewport of a scrollable widget."""
def __init__(self, master=None, **kw):
"""Construct a Ttk Scrollbar with parent master.
STANDARD OPTIONS
class, cursor, style, takefocus
WIDGET-SPECIFIC OPTIONS
command, orient
"""
Widget.__init__(self, master, "ttk::scrollbar", kw)
And codes that I placed into ttk.__init__.py file. It inherits from tkinter.Spinbox.
class Spinbox(Widget, tkinter.Spinbox):
"""spinbox widget."""
def __init__(self, master=None, **kw):
Widget.__init__(self, master, "ttk::spinbox", kw)
The test result given below is satisfactory.But there is an indent before content of Spinbox Widget
tkinter.Spinbox Widget

ttk.Spinbox Widget

Is there something wrong? Why an indentation occurs?
import tkinter as tk
import tkinter.ttk as ttk
class Spinbox(ttk.Widget):
def __init__(self, master, **kw):
ttk.Widget.__init__(self, master, 'ttk::spinbox', kw)
if __name__ == '__main__':
root = tk.Tk()
root.grid_columnconfigure(0, weight=1)
opts = { 'from_': 5, 'to': 10, 'increment': 1 }
sp1 = tk.Spinbox(root, from_=5, to=10)
sp1.grid(row=0, column=0)
sp2 = Spinbox(root, from_=5, to=10)
sp2.grid(row=1, column=0, columnspan=2, sticky="we",pady=2)
root.mainloop()
If you expand root window the ttk.Spinbox spreads with it and an indentation occurs. I guess it is due to columnconfigure but i need configuration for better look.



Spinboxmodule? I tried to run codes before embedding patterned codes tottk.__init__file and got an error message like this:AttributeError: 'module' object has no attribute 'Spinbox'. I asked two question. First, why an indent occurs? And second, is it true manipulating originalttk.__init__?tkinter.ttk.Spinboxclass was added to Python 3.7 (according to What’s New In Python 3.7).