gpt4 book ai didi

python - 对话框中的 wx.DatePickerCtrl 忽略在 wxGTK 上按回车键后输入的值

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

我有一个带有日期选择器控件的对话框。在日期选择器中按 Enter 键将关闭对话框(如预期)。然而,日期选择器不会选取用户在 wxGTK 上输入的值。运行附加的示例,单击按钮,使用键盘在日期选择器中输入新日期,然后按 Enter 键。打印语句显示日期选择器的先前值,而不是刚刚输入的值。

在 wxMSW 上它按预期工作。在这两种情况下都使用 wxPython 2.8.10.1。

有什么想法吗?解决方法?

谢谢,弗兰克

import wx

class Dialog(wx.Dialog):
def __init__(self, *args, **kwargs):
super(Dialog, self).__init__(*args, **kwargs)
self.datepicker = wx.DatePickerCtrl(self)
self.button = wx.Button(self, label='OK')
self.button.SetDefault()
self.button.Bind(wx.EVT_BUTTON, self.onButton)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.datepicker)
sizer.Add(self.button)
self.SetSizerAndFit(sizer)

def onButton(self, event):
print self.datepicker.GetValue()
self.Close()


class Frame(wx.Frame):
def __init__(self, *args, **kwargs):
super(Frame, self).__init__(*args, **kwargs)
self.button = wx.Button(self, label='Press me to open dialog')
self.button.Bind(wx.EVT_BUTTON, self.onButton)

def onButton(self, event):
dialog = Dialog(self, size=(200,30))
dialog.Show()

app = wx.App()
frame = Frame(None, size=(200,50))
frame.Show()
app.MainLoop()

最佳答案

我也遇到了类似的问题。在使用 datepicker.GetValue() 从 DatePickerCtrl 检索日期之前,我尝试每次都调用 datepicker.Navigate() 。看起来很有效。

关于python - 对话框中的 wx.DatePickerCtrl 忽略在 wxGTK 上按回车键后输入的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1568491/

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