簡體   English   中英

Tkinter 標度中的對數標度

[英]Logarithmic scale in Tkinter scale

是否可以使用對數值創建 Tkinter 比例小部件? 或者,將刻度設置為相應的值? 我需要一個 10^4 到 10^9 范圍內的比例,指數為整數。

我正在考慮相應地標記“軸”,但 10^x 描述確實更實用和直觀。

from Tkinter import *

class Slider(Frame):
    def __init__(self, parent=None ):
        Frame.__init__(self, parent)
        self.number = 0
        self.slide = Scale(self, orient=HORIZONTAL, command=self.setValue,
                           length=200, sliderlength=20,
                           showvalue=0, tickinterval=1,
                           fro=4, to=9, font=('Arial',9))
        self.text = Label(self, font=('Arial',18))
        self.slide.pack(side=RIGHT, expand=1, fill=X)
        self.text.pack(side=TOP, fill=BOTH)
        self.unimap = {'4':u'\u2074','5':u'\u2075','6':u'\u2076',
                       '7':u'\u2077','8':u'\u2078','9':u'\u2079'}

    def setValue(self, val):
        self.number = (10**(int(val)))
        self.text.configure(text='10%s' %(self.unimap[val]))

root = Tk()
s = Slider(root)
s.pack()
root.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM