Поместить окно tkinter в Screenborder

1

Я хочу расположить окно на правой границе экрана. Это текущий код, константы должны быть понятными, я думаю.

root = Tk()
pos_x = root.winfo_screenwidth() - WINDOW_WIDTH
geometry = '{width}x{height}+{pos_x}+{pos_y}'.format(
    height=WINDOW_HEIGHT, width=WINDOW_WIDTH, pos_y=HEIGHT_OFFSET, pos_x=pos_x)
root.wm_geometry(geometry)

Проблема заключается в том, что ширина кадра представляется пригодным для использования пространством без рамки, а это означает, что при запуске вышеуказанного кода окно не будет полностью видимым. Я попробовал root ['border'], но это возвращает 0, и google удивительно спокойно относится к этой проблеме.

Итак, есть ли способ получить полный размер фрейма - или это неправильный способ сделать это с помощью tkinter?

Теги:
tkinter
tk

1 ответ

1
Лучший ответ

Проблема в том, что оконный менеджер рисует границу и не говорит вам, насколько она велика. Вы можете полностью контролировать окно, установив флаг overrideredirect, но это будет означать, что вы не получите границу, нарисованную диспетчером окон.

Но, возможно, эта дискуссия о вики Tcl'ers помогает, поскольку в ней обсуждаются способы найти полный размер окна.

  • 0
    Спасибо, попробую кое-что там - но теперь я знаю, по крайней мере, одну вещь, которую проще сделать даже с сырым Win32 .. несомненно, будет полезна в некоторых дискуссиях;)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню