Daniel_Zhang 发表于 2021-12-29 16:45
谢谢,两种方法都很不错,但是楼上的大佬先来的,最佳只有一个名额
没事没事,我只是想名正言顺的白嫖一下鱼币{:9_227:}
谢谢
本帖最后由 qq1151985918 于 2021-12-29 17:21 编辑
Daniel_Zhang 发表于 2021-12-29 16:43
经过各位大佬的指点,搞出来了一个这样的东西:
或许重写一个Entry能解决你问题,试试吧
import tkinter as tk
class IntEntry(tk.Entry):
def __init__(self, master=None, cnf={}, **kw):
super().__init__()
self.bind("<KeyRelease>", self._onlynum)
def _onlynum(self, event):
gettext = self.get()
if event.keysym:
if not gettext.isdigit():
self.delete(0, "end")
self.insert(0, "".join(i for i in gettext if i.isdigit()))
{:5_100:}
{:10_257:}
本帖最后由 hellogood 于 2021-12-29 21:15 编辑
{:5_108:}
{:10_257:}
{:10_254:}
{:10_261:}
{:10_279:}
{:10_254:}
{:5_108:}
{:5_108:}
{:5_108:}
{:9_241:}
Daniel_Zhang 发表于 2021-12-29 16:43
经过各位大佬的指点,搞出来了一个这样的东西:
spinbox里面应该只能输入数字,这应该是最简单的方式,
当然像其他几个答主的代码那样,自己写代码判断是否未数字也可以,不过,写代码的目的不就是为了能用嘛,既然有现成的东西可用,干嘛要自己去造轮子~~~
{:10_254:}
{:5_109:}
{:10_279:}
{:10_279:}
{:10_245:}