ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

БозданиС мСню и подмСню

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π”Π°Π²Π°ΠΉΡ‚Π΅ для Π½Π°Ρ‡Π°Π»Π° создадим Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ простоС мСню. На ΡƒΡ€ΠΎΠ²Π½Π΅ языка Python это выглядит Ρ‚Π°ΠΊ:

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, ΠΌΡ‹ сначала создаСм экзСмпляр класса MenuBar ΠΈ экзСмпляр класса Menu. Π”Π°Π»Π΅Π΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ создаСм ΠΏΡƒΠ½ΠΊΡ‚ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ fileMenu со строкой Β«Π’Ρ‹Ρ…ΠΎΠ΄Β». ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ID_EXIT – это id нашСго ΠΏΡƒΠ½ΠΊΡ‚Π°. Оно Π²Ρ‹Π±Ρ€Π°Π½ΠΎ ΠΊΠ°ΠΊ стандартноС ΠΈ, ΠΏΠΎ ΠΈΠ΄Π΅Π΅, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш Ctrl+Q (Π½ΠΎ это Π½Π΅ всСгда срабатываСт). Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΈΠ΄Π΅Ρ‚ описаниС этого ΠΏΡƒΠ½ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·ΠΆΠ΅ вывСсти, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΡΡ‚Π°Ρ‚ΡƒΡΠ½ΡƒΡŽ строку. Π”Π°Π»Π΅Π΅, ΠΌΡ‹ добавляСм созданный ΠΏΡƒΠ½ΠΊΡ‚ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ fileMenu с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Append ΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ menubar Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌ эту Π²ΠΊΠ»Π°Π΄ΠΊΡƒ, Ρ‚Π°ΠΊΠΆΠ΅ вызывая ΠΌΠ΅Ρ‚ΠΎΠ΄ Append класса MenuBar. Π’ ΠΊΠΎΠ½Ρ†Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌ панСль мСню Π² нашСм ΠΎΠΊΠ½Π΅.

Запустим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π». И смотритС, Ссли сСйчас Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш

Ρ‚ΠΎ наша Π²ΠΊΠ»Π°Π΄ΠΊΠ° Β«FileΒ» Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски Π²Ρ‹Π±Ρ€Π°Π½Π°. Π’Π°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ благодаря ампСрсанду ΠΏΠ΅Ρ€Π΅Π΄ символом F. Если ΠΌΡ‹ Π΅Π³ΠΎ поставим, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅Π΄ Π±ΡƒΠΊΠ²ΠΎΠΉ Β«iΒ», Ρ‚ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ° откроСтся ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ

И Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’ΠΎΡ‚ Π² этом смысл этого ампСрсанда.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ссли сСйчас Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ мСню, Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ρ‚.ΠΊ. ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΠ»ΠΈ Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. Но, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ это сдСлаСм, ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅. Для удобства Π²ΠΎΡ‚ эти Π΄Π²Π΅ строчки:

ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² ΠΎΠ΄Π½Ρƒ:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅. Π’ дальнСйшСм ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ, Ссли Π½Π΅ понадобится ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ способ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ свяТСм Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ. НапримСр, ΠΏΡƒΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π΅Π³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π΅ вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρƒ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° слСдуСт ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ event, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ события. Π§Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ.

Π‘Π°ΠΌΠΎ связываниС дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Bind, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ наслСдуСтся ΠΏΠΎΡ‡Ρ‚ΠΈ всСми классами wxPython. Π•Π³ΠΎ синтаксис ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

Π’ нашСм случаС этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

ΠœΡ‹ здСсь ΡƒΠΊΠ°Π·Π°Π»ΠΈ Ρ‚ΠΈΠΏ события – EVT_MENU, Π΄Π°Π»Π΅Π΅, ссылка Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ onQuit, ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, источник – наш ΠΏΡƒΠ½ΠΊΡ‚ мСню item. ВсС, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сработаСт ΠΌΠ΅Ρ‚ΠΎΠ΄ onQuit ΠΈ ΠΎΠΊΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎ.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π». Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш

этот ΠΏΡƒΠ½ΠΊΡ‚ автоматичСски вызывался ΠΈ выполнялся связанный с Π½ΠΈΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ горячиС клавиши ΠΎΡ‡Π΅Π½ΡŒ просто, ΡƒΠΊΠ°Π·Π°Π² ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· символ табуляции:

Π”Π°Π»Π΅Π΅, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ. Π’Π½Π°Ρ‡Π°Π»Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ константу

которая Π±ΡƒΠ΄Π΅Ρ‚ связана с Π½ΠΈΠΌ. И создадим ΠΏΡƒΠ½ΠΊΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ класс MenuItem:

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‚.ΠΊ. ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΌΡ‹ присвоим Π΅ΠΌΡƒ ΠΈΠΊΠΎΠ½ΠΊΡƒ:

ЗапускаСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π²ΠΈΠ΄ΠΈΠΌ Ρ‚Π°ΠΊΠΎΠΉ эффСкт:

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

РазумССтся, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° exit16.png Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Ρ‡Ρ‚ΠΎ ΠΈ запускаСмый Ρ„Π°ΠΉΠ» с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ. Если Π΅Π΅ Π²Π·ΡΡ‚ΡŒ большС:

Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π½Π΅ Ρ‚Π°ΠΊ эстСтично.

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠšΡΡ‚Π°Ρ‚ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½Π°ΡˆΡƒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ константу APP_EXIT Π² качСствС id ΠΏΡƒΠ½ΠΊΡ‚Π°, Π² дальнСйшСм, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Bind:

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»Π΅Π½, Ρ‡Π΅ΠΌ использованиС ссылок, Ρ‚.ΠΊ. ΠΈΡ… Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ². А Π²ΠΎΡ‚ id остаСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ.

ПодмСню ΠΈ сСпараторы

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠΌ Π½Π°ΡˆΡƒ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π° Π½Π΅Π΅ Π΅Ρ‰Π΅ нСсколько стандартных ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΠΈΠ΅:

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

И смотритС, Π½Π°ΠΌ Π±Ρ‹ здСсь Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ эти ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ ΠΎΡ‚ послСднСго. Как Ρ€Π°Π· это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся separator. Он добавляСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ:

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ наша Π²ΠΊΠ»Π°Π΄ΠΊΠ° выглядит ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Π΅Π΅.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π΄ΠΎΠ±Π°Π²ΠΈΠΌ подмСню. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ:

ΠΏΡ€ΠΎΠΏΠΈΡˆΠ΅ΠΌ Ρ‚ΡƒΠ΄Π° Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹:

ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ fileMenu:

ЗапускаСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π²ΠΈΠ΄ΠΈΠΌ Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π’ΠΈΠΏΡ‹ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню

Π‘ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ двумя ΠΌΡ‹ ΡƒΠΆΠ΅ познакомились. Для дСмонстрации Π΄Π²ΡƒΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… создадим Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ:

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Ρ‚ΡƒΠ΄Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строчки:

Π”ΠΎΠ±Π°Π²ΠΈΠΌ эту Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π½Π° панСль мСню:

Запустим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ эффСкт:

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, ΠΏΠ΅Ρ€Π²ΡƒΡŽ строчку ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ„Π»Π°ΠΆΠΊΠΎΠΌ, Π° послСдниС Π΄Π²Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ: Π»ΠΈΠ±ΠΎ RGB, Π»ΠΈΠ±ΠΎ sRGB.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим ΠΊΠ°ΠΊ всС это ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… этих событий. ΠŸΡ€ΠΎΠΏΠΈΡˆΠ΅ΠΌ Π² Π½Π°Ρ‡Π°Π»Π΅ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ константы:

Π£ΠΊΠ°ΠΆΠ΅ΠΌ ΠΈΡ… ΠΏΡ€ΠΈ создании строчСк мСню:

И, Π΄Π°Π»Π΅Π΅, повСсим ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ:

Объявим Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, ΠΌΡ‹ здСсь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ IsChecked(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ: Π²Ρ‹Π±Ρ€Π°Π½ Π»ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚. И Π² соотвСтствии с этим Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π² консоль сообщСния. Запустим ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ убСдимся, Ρ‡Ρ‚ΠΎ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

wxPython #1: ΠΎΠ±Π·ΠΎΡ€ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для GUI ΠΈ порядок установки wxPython

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

wxPython #2: общая структура интСрфСйса

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

wxPython #4: контСкстноС мСню ΠΈ панСль инструмСнтов (toolbar)

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

wxPython #5: схСмы (layout) размСщСния Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², BoxSizer

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

wxPython #8: ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ событий, Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ id Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°ΠΌ

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

wxPython #9: стандартныС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π°

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

wxPython #10: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΊΠ½Π°, класс Dialog

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

wxPython #14: графичСскиС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹, систСма ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

wxPython #15: Ρ€Π΅Π³ΠΈΠΎΠ½Ρ‹ (wx.Region) ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π½ΠΈΠΌΠΈ

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

wxPython #17: дСмонстрация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ wxFormBuilder

Β© 2021 ЧастичноС ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с Π΄Π°Π½Π½ΠΎΠ³ΠΎ сайта для распространСния Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… рСсурсах, Π² Ρ‚ΠΎΠΌ числС ΠΈ Π±ΡƒΠΌΠ°ΠΆΠ½Ρ‹Ρ…, строго Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ. ВсС тСксты ΠΈ изобраТСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ сайта

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

МСню ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов Π² PyQt5 [Π£Ρ€ΠΎΠΊ β„–3]

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π’ этой части руководства PyQt5, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ мСню ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов. МСню – это Π³Ρ€ΡƒΠΏΠΏΠ° ΠΊΠΎΠΌΠ°Π½Π΄, Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰Π°ΡΡΡ Π½ΠΈΠΆΠ΅ строки Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ПанСль инструмСнтов содСрТит ΠΊΠ½ΠΎΠΏΠΊΠΈ с нСсколькими распространСнными ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

ОсновноС окно

Класс QMainWindow прСдоставляСт Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ прилоТСния. Он позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ классичСский каркас прилоТСния со строкой состояния, панСлями инструмСнтов ΠΈ мСню.

Π‘Ρ‚Ρ€ΠΎΠΊΠ° состояния

Π‘Ρ‚Ρ€ΠΎΠΊΠ° состояния – это Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отобраТСния свСдСний ΠΎ состоянии.

Π‘Ρ‚Ρ€ΠΎΠΊΡƒ состояния ΡΠΎΠ·Π΄Π°ΡŽΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° QMainWindow.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строку состояния, ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ statusBar() класса QtGui.QMainWindow. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° создаёт строку состояния. ΠŸΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ строки состояния. showMessage() ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ сообщСниС Π² строкС состояния.

МСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π‘Ρ‚Ρ€ΠΎΠΊΠ° мСню – это распространСнная Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с графичСским интСрфСйсом (GUI).

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅, ΠΌΡ‹ создаём строку мСню с ΠΎΠ΄Π½ΠΈΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄. Π­Ρ‚ΠΎΡ‚ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ дСйствиС, Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π΅Π³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π΅. Π‘Ρ‚Ρ€ΠΎΠΊΠ° состояния Ρ‚ΠΎΠΆΠ΅ создаётся. ДСйствиС доступно с горячСй клавишСй Ctrl+Q.

QAction – это абстракция для дСйствий, выполняСмых ΠΈΠ· мСню, панСлью инструмСнтов ΠΈΠ»ΠΈ с использованиСм горячСй клавишСй. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ Ρ‚Ρ€Ρ‘Ρ… строках, ΠΌΡ‹ создаём дСйствиС с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ Β«ExitΒ». ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для этого дСйствия ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° горячая клавиша. Π’Ρ€Π΅Ρ‚ΡŒΡ строка создаёт подсказку, которая показываСтся Π² строкС состояния, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π½Π°Π²ΠΎΠ΄ΠΈΠΌ курсор ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΏΡƒΠ½ΠΊΡ‚ мСню.

Когда ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ дСйствиС, срабатываСт ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ сигнал. Π‘ΠΈΠ³Π½Π°Π» ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ quit() Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° QApplication. Π­Ρ‚ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠœΠ΅Ρ‚ΠΎΠ΄ menuBar() создаёт строку мСню. ΠœΡ‹ создаём мСню Β«FileΒ» ΠΈ добавляСм Π² Π½Π΅Π³ΠΎ дСйствиС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· прилоТСния.

ПанСль инструмСнтов

ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· мСню, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ПанСли инструмСнтов ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ быстрый доступ ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄.

Π’ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ создаём ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ панСль инструмСнтов. Она ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ инструмСнт, дСйствиС Π²Ρ‹Ρ…ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ.

Π’ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠ°ΠΊ с созданиСм мСню Π²Ρ‹ΡˆΠ΅, ΠΌΡ‹ создаём ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ дСйствия. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΊΡƒ, ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΈ Π³ΠΎΡ€ΡΡ‡ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ. ΠœΠ΅Ρ‚ΠΎΠ΄ quit() ΠΈΠ· QtGui.QMainWindow присоСдиняСтся ΠΊ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌΡƒ сигналу.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создаём панСль инструмСнтов ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ дСйствия ΠΊ Π½Π΅ΠΉ.

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Рисунок: ПанСль инструмСнтов

БовмСстноС Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅

Π’ послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ этой части, ΠΌΡ‹ создадим мСню, панСль инструмСнтов ΠΈ строку состояния. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ создадим Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚.

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° создаёт каркас классичСского графичСского прилоТСния состоящСй ΠΈΠ· мСню, панСлью инструмСнтов ΠΈ строкой состояния.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создаём Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ рСдактирования тСкста. ΠœΡ‹ устанавливаСм Π΅Π³ΠΎ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π±Ρ‹Π» Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠΌ QMainWindow. Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π·Π°ΠΉΠΌΡ‘Ρ‚ всё ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ пространство.

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Рисунок: Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ

Π’ этой части руководства PyQt5, ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ с мСню, панСлями управлСния, строкой состояния ΠΈ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠΊΠ½ΠΎΠΌ прилоТСния.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

The goal of this widget is to allow us to create all kinds of menus that can be used by our applications. The core functionality provides ways to create three menu types: pop-up, toplevel and pull-down.

It is also possible to use other extended widgets to implement new types of menus, such as the OptionMenu widget, which implements a special type that generates a pop-up list of items within a selection.

Syntax

Here is the simple syntax to create this widget βˆ’

Parameters

master βˆ’ This represents the parent window.

options βˆ’ Here is the list of most commonly used options for this widget. These options can be used as key-value pairs separated by commas.

The background color that will appear on a choice when it is under the mouse.

Specifies the width of a border drawn around a choice when it is under the mouse. Default is 1 pixel.

The foreground color that will appear on a choice when it is under the mouse.

The background color for choices not under the mouse.

The width of the border around all the choices. Default is 1.

The cursor that appears when the mouse is over the choices, but only when the menu has been torn off.

The color of the text for items whose state is DISABLED.

The default font for textual choices.

The foreground color used for choices not under the mouse.

You can set this option to a procedure, and that procedure will be called every time someone brings up this menu.

The default 3-D effect for menus is relief=RAISED.

To display an image on this menubutton.

Specifies the color displayed in checkbuttons and radiobuttons when they are selected.

Normally, a menu can be torn off, the first position (position 0) in the list of choices is occupied by the tear-off element, and the additional choices are added starting at position 1. If you set tearoff=0, the menu will not have a tear-off feature, and choices will be added starting at position 0.

Normally, the title of a tear-off menu window will be the same as the text of the menubutton or cascade that lead to this menu. If you want to change the title of that window, set the title option to that string.

Methods

These methods are available on Menu objects βˆ’

Adds a menu item to the menu.

Creates a radio button menu item.

Creates a check button menu item.

Creates a new hierarchical menu by associating a given menu to a parent menu

Adds a separator line to the menu.

Adds a specific type of menu item to the menu.

delete( startindex [, endindex ])

Deletes the menu items ranging from startindex to endindex.

entryconfig( index, options )

Allows you to modify a menu item, which is identified by the index, and change its options.

Returns the index number of the given menu item label.

Insert a new separator at the position specified by index.

Calls the command callback associated with the choice at position index. If a checkbutton, its state is toggled between set and cleared; if a radiobutton, that choice is set.

Returns the type of the choice specified by index: either «cascade», «checkbutton», «command», «radiobutton», «separator», or «tearoff».

Example

Try the following example yourself βˆ’

When the above code is executed, it produces the following result βˆ’

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌ запросС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список доступных ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «Exit», ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «1», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ Π²Π²ΠΎΠ΄ строки ΠΈ вносит Π΅Ρ‘ Π² список строк.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «2», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ Π²Π²ΠΎΠ΄ числа ΠΈ вносит Π΅Π³ΠΎ Π² список чисСл.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «3», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: «ΠΏΡ€ΡΠΌΠΎΠΉ», «ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ» ΠΈΠ»ΠΈ «Π½Π°Π·Π°Π΄».
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΠΏΡ€ΡΠΌΠΎΠΉ», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ тСкст, сформированный ΠΈΠ· строк ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка Π² порядкС ΠΈΡ… Π²Π²ΠΎΠ΄Π°.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строки ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка Π² порядкС, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядку ΠΈΡ… Π²Π²ΠΎΠ΄Π°.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «Π½Π°Π·Π°Π΄», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΅ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ (Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ) ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· списка ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «4», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: «ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ», «ΡΡƒΠΌΠΌΠ°», «ΡΡ€Π΅Π΄Π½Π΅Π΅» ΠΈΠ»ΠΈ «Π½Π°Π·Π°Π΄».
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ количСство чисСл Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΡΡƒΠΌΠΌΠ°», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ считаСт сумму чисСл Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΡΡ€Π΅Π΄Π½Π΅Π΅», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ считаСт срСднСС арифмСтичСскоС чисСл Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «Π½Π°Π·Π°Π΄», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΅ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ (Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ) ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· списка ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ трСбования.
1. Π’ случаС Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²Ρ‘Π» Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ увСдомляСт Π΅Π³ΠΎ ΠΎΠ± этом ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ввСсти ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ.
2. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΎ тСкстовыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² любом рСгистрС (Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π·Π°Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, строчными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΌ рСгистром).

Π‘ΡƒΠ΄Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΎΡ‡Π΅Π½ΡŒ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ Π·Π° ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ консоль, ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π² ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ сроки.

МСню Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
Π΅ΡΡ‚ΡŒ ошибки Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ #include #include #include #include.

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ΠœΠ΅Π½ΡŽ Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
Π•ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π—Π°Π΄Π°ΡŽ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ вопрос: Dim key As String Console.WriteLine(«Π‘ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ΠœΠ΅Π½ΡŽ Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
Π”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток. Π’ΠΎΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ интСрфСйс Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π― Π΅Π³ΠΎ сдСлал с.

РСшСниС

НуТно Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ ΡΠ΄Π΅Π»Π°Π½Π½ΡƒΡŽ консоль, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ список ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, я Π²Π²ΠΎΠΆΡƒ «1», консоль Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ «Π²Π²Π΅Π΄ΠΈΡ‚Π΅ строку:» я Π²Π²ΠΎΠΆΡƒ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ «2», ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «2» вносит Π² список строк.
Π”ΡƒΠΌΠ°ΡŽ смысл понятСн)) НуТны Π² ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ сроки, ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π±ΡƒΠ΄Ρƒ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ Π½Π° ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅.))
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «1», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ Π²Π²ΠΎΠ΄ строки ΠΈ вносит Π΅Ρ‘ Π² список строк.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «2», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ Π²Π²ΠΎΠ΄ числа ΠΈ вносит Π΅Π³ΠΎ Π² список чисСл.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «3», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: «ΠΏΡ€ΡΠΌΠΎΠΉ», «ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ» ΠΈΠ»ΠΈ «Π½Π°Π·Π°Π΄».
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΠΏΡ€ΡΠΌΠΎΠΉ», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ тСкст, сформированный ΠΈΠ· строк ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка Π² порядкС ΠΈΡ… Π²Π²ΠΎΠ΄Π°.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строки ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка Π² порядкС, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядку ΠΈΡ… Π²Π²ΠΎΠ΄Π°.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «Π½Π°Π·Π°Π΄», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΅ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ (Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ) ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· списка ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «4», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: «ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ», «ΡΡƒΠΌΠΌΠ°», «ΡΡ€Π΅Π΄Π½Π΅Π΅» ΠΈΠ»ΠΈ «Π½Π°Π·Π°Π΄».
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ количСство чисСл Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΡΡƒΠΌΠΌΠ°», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ считаСт сумму чисСл Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΡΡ€Π΅Π΄Π½Π΅Π΅», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ считаСт срСднСС арифмСтичСскоС чисСл Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «Π½Π°Π·Π°Π΄», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΅ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ (Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ) ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· списка ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.

Π‘Π°ΠΌ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ сдСланная консоль:

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ мСню Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
ЗдравствуйтС! НСдавно почувствовал ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… знаниях C#. РСшил ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΡƒΡŽ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ мСню Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ навигация ΠΏΠΎ Π½Π΅ΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиш
Π£ мСня стоит такая Π·Π°Π΄Π°Ρ‡Π°, допустим Π΅ΡΡ‚ΡŒ Π² консолС такая мСнюшка: Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ дСйствиС: 1) ΠΏΠ΅Ρ€Π²ΠΎΠ΅.

ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ контСкстноС мСню ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ мишки Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ с++
Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ мишки ΠΌΠ΅Π½ΡΡ‚ΡŒ полоТСния корабля, Π½ΠΎ Π²Ρ‹Π»Π°Π·ΠΈΡ‚ это ΠΎΠΊΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π΅Π³ΠΎ.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ класс TStud
Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ класс TStud, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ поля: имя, фамилия, Π³Ρ€ΡƒΠΏΠΏΠ°, рост, вСс. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Tkinter Menu

Summary: in this tutorial, you’ll learn how to create a Tkinter menu bar, add menus to the menu bar, and add menu items to each menu.

When an application contains a lot of functions, you need to use menus to organize them for easier navigation.

Typically, you use a menu to group closely related operations. For example, you can find the File menu in most text editors.

Tkinter natively supports menus. It displays menus with the look-and-feel of the target platform that the program runs e.g., Windows, macOS, and Linux.

Creating a simple menu

First, create a root window and set its title to ‘Menu Demo’ :

Second, create a menu bar and assign it to the menu option of the root window:

Note that each top-level window can only have only one menu bar.

Third, create a File menu whose container is the menubar :

Fourth, add a menu item to the file_menu :

When you click the Exit menu item, Python will call the root.destroy() method automatically to close the root window.

Finally, add the File menu to the menubar:

The underline option allows you to create a keyboard shortcut. It specifies the character position that should be underlined.

Put it all together:

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

By default, Tkinter adds a dashed line before the first menu item. When you click the dashed line, the main window will detach the menu from it like this:

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

To remove the dashed line, you can set the tearoff property of the menu to False :

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Creating a more complex menu

The following program illustrates how to create a menu bar, add the File and Help menus to the menu bar. Also, it adds multiple menu items to these menus:

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

The only new statement in this program is to use the add_separator() method to add a separator to the menu.

Adding a submenu

The following program adds the menu item Preferences to the File menu and create a submenu that links the new menu item:

ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

The following code adds a submenu to File menu and links the submenu to Preferences menu item:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *

Sr.No.Option & Description
1