Tcl/Tk всегда на высоте

У меня есть приложение Tcl/Tk с несколькими диалоговыми окнами, которые могут быть видны одновременно. Однако я хотел бы, чтобы мой «главный диалог» (который определяется как верхний уровень) был «всегда сверху». Как мне это сделать?


person HardwareEng.    schedule 13.10.2013    source источник


Ответы (1)


Просто используйте

wm attribute . -topmost 1
person Johannes Kuhn    schedule 13.10.2013
comment
Я пробовал, но ничего хорошего. Всякий раз, когда открывается дополнительный диалог, он охватывает верхний уровень - person HardwareEng.; 14.10.2013
comment
На моей машине с Windows он ведет себя так, как рекламируется. - person Johannes Kuhn; 14.10.2013
comment
Идея: возможно ли, что ваше решение работает при работе с несколькими верхними уровнями? В своем приложении я использую виджет «диалог» от IWidgets. - person HardwareEng.; 14.10.2013
comment
Если вы укажете . в качестве родителя вашего диалога, то диалог унаследует это. (например, tk_chooseColor -parent . всегда будет сверху, окно . не принимает никаких входных данных. wm attribute . -topmost 1 устанавливает системный флаг (всегда сверху), поэтому другие программы, такие как firefox, находятся за этим окном. - person Johannes Kuhn; 14.10.2013
comment
Я понимаю. Но могу ли я сделать так, чтобы определенный верхний уровень моего приложения всегда был поверх всех других диалоговых окон IWidgets приложения? - person HardwareEng.; 14.10.2013