|
|
|
|
| wx.TextCtrl.IsModified()的值不改变 |
 wx.TextCtrl.IsModified()的值不改变 - hailian [ 2005-10-20 14:19 | 371 byte(s)]
 Re: wx.TextCtrl.IsModified()的值不改变 - limodou [ 2005-10-20 20:19 | 223 byte(s)]
 Re: wx.TextCtrl.IsModified()的值不改变 - hailian [ 2005-10-20 22:38 | 213 byte(s)]
 Re: wx.TextCtrl.IsModified()的值不改变 - troubleboy [ 2005-10-20 22:16 | 446 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
我的一个窗口里有两个wx.TextCtrl,第一个的style=wx.TE_MULTILINE|wx.TE_RICH2,第二个的style用的默认值,在print wx.TextCtrl.IsModified()的值时,第一个总为True,第二个总为False。我查到wxPython的帮助里面讲,当用户更改了文本框的内容时,IsModified()值被设为True。可是不管我是否修改了文本框的内容,第一个的值总为True,第二个值总为False,不会发生改变。这是怎么回事?
谢谢
|
|
|
----
学习、学习、再学习 努力、努力、再努力
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
我没有试,但感觉是你的代码可能有问题。应该是检查实例的方法,不是类的方法。wx.TextCtrl是一个类。
text = wx.TextCtrl(parent, -1)
text.IsModified()
才是调用实例的方法。
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
先谢谢limodou的回复。
我在代码中是像你这样写的
txm1 = wx.TextCtrl(self, -1, wx.Point(0,0), wx.Size(50, 50), style=wx.TE_MULTILINE | wx.TE_RICH2)
tx2 = wx.TextCtrl(self, -1, wx.Point(10, 10), wx.Size(50, 50))
下午又试了一下,第二个文本框的IsModified()的返回值可以正常改变了,但是第一个文本框的IsModified()值还是不变的。
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
哈哈,终于明白了,原来是因为程序中加了这样一行代码:
self.txm1.SetInsertionPoint(0)
执行这个动作后,文本框就处于被改变的状态了,所以窗口一打开txm1.IsModified()的值就是True了。
|
|
|
----
学习、学习、再学习 努力、努力、再努力
|
|
[Original]
[Print]
[Top]
|
|
|