我在OpenERP 6.0.3的GTK客戶端中創建了一次性密碼機制。登錄後,GTK客戶端會顯示一個窗口,如下所示輸入一次性密碼。如何禁用GTK中的關閉按鈕?
現在我想在窗口左上方禁用關閉按鈕。我怎樣才能做到這一點?我使用Python和代碼來創建窗口是:
編輯
class sms_auth(gtk.Dialog):
def run_thread(self):
code=self.textbox_code.get_text()
self.result = rpc.session.rpc_exec_auth('/object', 'execute', 'res.users', 'check_code', code)
return self.result
def run(self):
self.show_all()
res = super(sms_auth, self).run()
result = None
if res == gtk.RESPONSE_ACCEPT:
result = self.run_thread()
self.destroy()
return result
def hide(*args):
window.hide()
return gtk.TRUE
def __init__(self, parent, response):
# To use cancel butto add gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT,
gtk.Dialog.__init__(
self, 'Sms Authentication', parent,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_OK, gtk.RESPONSE_ACCEPT)
)
label = gtk.Label("Please enter sms code :")
self.parent_widget = parent
self.response = False
self.db_login_response = response
self.connect('delete_event', hide)
self.textbox_code = gtk.Entry()
label.set_alignment(0,0)
table = gtk.Table(1, 7)
table.set_homogeneous(False)
table.set_col_spacings(40)
table.attach(label, 0, 6, 0, 1, ypadding=4)
table.attach(self.textbox_code, 5, 6, 0, 1, ypadding=4)
self.vbox.pack_start(table,False, False, 0)
您有一個已經回答了,所以我只是做一個評論:防止窗口clo se/hide幾乎總是一個壞主意。人們犯錯誤,您的應用程序應允許他們取消任何可能被取消的操作。另外:該按鈕不能在視覺上被禁用,它會看起來像一個工作按鈕,但不會做人們所期望的... – jku