gpt4 book ai didi

python - 如何让 pygtk 条目只接受 float ?

转载 作者:太空宇宙 更新时间:2023-11-04 01:38:36 25 4
gpt4 key购买 nike

我希望用户只能输入一个 float (即从 0 到 9 的数字和小数点应该显示,其他字符不应该显示)。我该怎么做?

编辑我需要获取“4”或“3.5”或“.9”之类的值,而不是“10e23”之类的值

不一致的值也应该被拒绝,比如“10.12.45”……

最佳答案

由于 SO 问题“How to extract a floating number from a string in Python”,我终于得到了一个可以接受的答案

    numeric_const_pattern = r"""
[-+]? # optional sign
(?:
(?: \d* \. \d+ ) # .1 .12 .123 etc 9.1 etc 98.1 etc
|
(?: \d+ \.? ) # 1. 12. 123. etc 1 12 123 etc
)
# followed by optional exponent part if desired
(?: [Ee] [+-]? \d+ ) ?
"""
self.rx = re.compile(numeric_const_pattern, re.VERBOSE)

在初始化部分,

和:

def validate_float(self, widget, entry):
entry_text = entry.get_text()
newtext = self.rx.findall(entry_text)
if len(newtext) :
entry.set_text(newtext[0])
else:
entry.set_text("")

连接到条目的“更改”事件。非常感谢所有提供帮助的人。

关于python - 如何让 pygtk 条目只接受 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7318965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com