当前位置: 首页>>代码示例>>Python>>正文


Python Tk.grab_set_global方法代码示例

本文整理汇总了Python中tkinter.Tk.grab_set_global方法的典型用法代码示例。如果您正苦于以下问题:Python Tk.grab_set_global方法的具体用法?Python Tk.grab_set_global怎么用?Python Tk.grab_set_global使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在tkinter.Tk的用法示例。


在下文中一共展示了Tk.grab_set_global方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

# 需要导入模块: from tkinter import Tk [as 别名]
# 或者: from tkinter.Tk import grab_set_global [as 别名]
	def __init__(self, message, title='알림', callback=None, grab_focus = False):
		tk=Tk()
		tk.resizable(0, 0)
		self.frame = Frame(tk, border=7)
		self.frame.pack(expand='true')
		self.frame.master.title(title)
		Label(self.frame, text=message).pack(side='top', expand='true')
		self.callback=callback
		Button(self.frame, text="확인", command=self.onPress).pack(expand='true')
		tk.focus_force()
		if grab_focus:
			tk.grab_set_global()
开发者ID:cr0sh,项目名称:NaOH,代码行数:14,代码来源:msgbox.py

示例2: propertiesScreen

# 需要导入模块: from tkinter import Tk [as 别名]
# 或者: from tkinter.Tk import grab_set_global [as 别名]
class propertiesScreen(independentScreen):
	hint = {
		'allow-flight': '서바이벌 날기 모드를 허용하면 on으로 설정합니다.',
		'announce-player-achievements': '플레이어가 업적을 달성하면 알림을 공개적으로 표시하려면 on으로 설정합니다.',
		'auto-save': '주기적으로 월드를 자동 저장하려면 on으로 설정합니다.',
		'enable-query': 'UT3 Query 프로토콜을 활성화하려면 on으로 설정합니다. 비활성화하면 외부에서 서버 상태를 알 수 없습니다.',
		'enable-rcon': 'Source RCON(원격 제어) 프로토콜을 활성화하려면 on으로 설정합니다. 서버 원격 제어 소프트웨어를 사용하려면 활성화해야 합니다.',
		'gamemode': '0 = 서바이벌, 1 = 크리에이티브',
		'generator-settings': '월드 생성기 설정입니다. 사용하는 level-type 설정에 따라 필요할 수도 있고 아닐 수도 있습니다.',
		'hardcore': '하드코어 모드를 활성화하려면 on으로 설정합니다.',
		'level-name': '서버에서 기본적으로 불러올 월드 폴더 이름을 설정합니다.',
		'level-seed': '월드 생성에 사용할 시드입니다.',
		'level-type': '생성할 월드의 유형입니다. FLAT으로 설정하면 평지맵, DEFAULT로 설정하면 MCPE 바이옴이 됩니다.',
		'max-players': '서버에 입장할 수 있는 최대 플레이어 수입니다.',
		'motd': '서버 접속 시 플레이어에게 보낼 문구입니다. @player 문자는 자동으로 매번 접속한 플레이어 닉네임이 됩니다.',
		'pvp': '플레이어들끼리 공격할 수 있게 하려면 on으로 설정합니다.',
		'rcon.password': 'RCON 프로토콜 접속 비밀번호입니다. 보안을 위해 강력한 비밀번호를 사용하기를 권장합니다.',
		'server-port': '서버 포트입니다. MCPE에서 기본으로 탐색하는 로컬 멀티플레이 포트는 19132입니다.',
		'spawn-protection': '스폰 지점에서 몇 블럭만큼의 거리가 부서지지 않도록 보호할 지 결정합니다. OP는 제한되지 않습니다.'
	}
	def __init__(self, filedir):
		if super().__init__() == False:
			return

		self.root.title('설정')
		self.root.resizable(1, 0)
		self.label = Label(self.root, text='서버 설정 읽는 중...')
		self.label.grid(row=0, column=0)
		Button(self.root, text='나가기', command=self._quit).grid(row=1, column=0, sticky='nwe')
		self.filedir = filedir
		f = open(self.filedir, 'r')
		self.lines = f.readlines()
		f.close()
		self.label['text'] = ''
		self.label['justify'] = 'left'
		self.properties = {}
		for line in self.lines:
			tmp = line[:len(line) - 1]
			if tmp[0] == '#':
				continue

			splitz = tmp.split('=', 1)
			self.properties[splitz[0]] = splitz[1]

		self.table = Treeview(self.root, selectmode='browse', columns=('c1', 'c2', 'c3'), show='headings')
		self.table.column('c1', width=200)
		self.table.column('c2', width=110)
		self.table.column('c3', width=550)
		self.table.heading('c1', text='이름')
		self.table.heading('c2', text='값')
		self.table.heading('c3', text='설명')
		self.properties = OrderedDict(sorted(self.properties.items()))
		for key, value in self.properties.items():
			if key in propertiesScreen.hint:
				self.table.insert('', 'end', text='', values=(key, value, propertiesScreen.hint[key]))
				continue

			self.table.insert('', 'end', text='', values=(key, value, ''))
		self.table.grid(row=0, column=0, sticky='nwe')
		self.table.bind('<Double-1>', self.edit_properties)
		self.root.columnconfigure(0, weight=1)
		self.root.mainloop()

	def binder(self, *args):
		self.set_properties(self.key['text'], self.valueEntry.get())

	def edit_properties(self, dummy):
		(key, value, description) = self.table.item(self.table.selection()[0])['values']
		self.window = Tk()
		self.window.title('설정 편집: %s' % key)
		self.window.grab_set_global()
		self.valueEntry = Entry(self.window)
		self.valueEntry.insert(0, value)
		Label(self.window, text=key + ': ', justify='right').grid(row=0, column=0, sticky='ne')
		self.valueEntry.grid(row=0, column=1, columnspan=3, sticky='nwe')
		self.valueEntry.focus_force()
		# self.valueEntry.bind('<Enter>', self.binder)
		if description == '':
			description = '표시할 도움말이 없습니다.'
		self.key = Label(self.window, text=description.replace('. ', '.\n'), justify='center')
		self.key.grid(row=1, column=0, columnspan=4,sticky='news')
		Button(self.window, text='저장', command=lambda: self.set_properties(key, self.valueEntry.get())).grid(row=2, column=0, columnspan=4, sticky='new')
		self.window.mainloop()

	def set_properties(self, key, value):
		self.properties[key] = value
		self.window.destroy()
		del self.window
		del self.valueEntry
		del self.key
		self.save_and_refresh()

	def save_and_refresh(self):
		for num, line in enumerate(self.lines):
			lst = line[:len(line) - 1].split('=')
			if len(lst) < 2:
				continue

			if lst[1] != self.properties[lst[0]]:
				self.lines[num] = lst[0] + '=' + self.properties[lst[0]] + '\n'
#.........这里部分代码省略.........
开发者ID:cr0sh,项目名称:NaOH,代码行数:103,代码来源:properties.py


注:本文中的tkinter.Tk.grab_set_global方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。