Інформація про новину
  • Переглядів: 53
  • Дата: 6-10-2021, 18:38
6-10-2021, 18:38

52. Властивості та методи елементів керування в Python

Категорія: Інформатика





Попередня сторінка:  51. Основні поняття об'єктно-орієнтова...
Наступна сторінка:   53. Обробники подій, пов'язані з елемен...

52.1.

ДОДАВАННЯ НАПИСУ

Як уже було зазначено раніше, до графічного вікна можна додавати різноманітні елементи керування. Одним із найбільш розповсюджених є напис. Розташуємо на графічному вікні напис «Привіт!».

Для цього до коду, створеного в попередньому уроці, необхідно додати дві команди:

У першому рядку з допомогою конструктора Label створюється напис, що має значення «Привіт!». Цей напис присвоюється змінній Lbl. У цьому коді text — це властивість об’єкта «напис». «Привіт!» — значення властивості text.

У другому рядку з допомогою методу раск() напис розташовується на графічному вікні.

Після виконання даного коду в графічному вікні з’явиться відповідний напис (рис. 52.1).

Додамо до цього напису фразу «Як справи?», змінивши код наступним чином:

У результаті після запуску програми фразу буде змінено. А що ж робити, якщо цю фразу необхідно додати знизу під попередньою фразою? Звичайно, можна створити новий об’єкт Label, але для цього знадобиться записати ще два рядки коду. Скористаємось більш раціональним способом. Для перенесення тексту на новий рядок достатньо записати комбінацію символів \п. Отже, код буде мати наступний вигляд:

Звичайно, text — не єдина властивість, яку можна встановити для напису. Зробимо, наприклад, у написі літери більшого розміру та червоного кольору. Для цього через кому додамо властивість font=l6, що визначає розмір шрифту та fg="red", що визначає колір шрифту:

У результаті виконання програми властивості шрифту буде змінено (рис. 52.2).

Отже, загальна структура коду для створення елемента керування має вигляд:

Якщо властивостей небагато, їх записують в один рядок, якщо багато — їх зручніше розташувати у декілька рядків, виконуючи перенесення на наступний рядок після коми.

Для розташування елемента керування у вікні використовується метод раск(). Загальний вигляд коду для виклику даного методу має таку структуру:

ДОДАВАННЯ ТЕКСТОВОГО ПОЛЯ ТА КНОПКИ

Розглянемо додавання інших елементів керування до графічного вікна на прикладі вікна авторизації, що містить два написи, два текстові поля та кнопку (рис. 52.3).

1. Для створення даного вікна введіть наступний код:

2. Уведіть коди додавання напису «Логін».

Наступний елемент — це текстове поле, в якому потрібно буде вводити логін. Для створення текстового поля використовується конструктор Entry.

3. Для розташування у графічному вікні текстового поля додайте такий код:

4. Запустіть програму і переконайтеся, що текстове поле розташоване під написом. Запишіть у ньому деякий текст, наприклад, user.

5. Аналогічно додайте напис і текстове поле з паролем.

6. Запустіть програму. В результаті у вікні мають бути розташовані один під одним два написи та два текстові поля.

7. Уведіть логін user, пароль — 1111.

8. Як правило, у полі, де вводиться пароль, уведені символи заміняють зірочками або іншими однаковими символами. Зупиніть роботу програми та додайте для об’єкта PassJEnt властивість show="+".

9. Ще раз запустіть програму та спробуйте ввести пароль. У результаті всі символи буде замінено зірочками.

Нам залишилося знизу ще додати кнопку. Для кнопок використовують конструктор Button.

10. Уведіть код додавання до вікна кнопки:

Тут Btn — назва об’єкта, ОК — напис, що потрібно розташувати на кнопці, агіаі — назва шрифту, 16 — розмір, bold — напівжирний шрифт, bg — колір фону кнопки, fg — колір шрифту кнопки.

11. Запустіть програму, переконайтеся в тому, що необхідні елементи керування додано відповідно до зразка.

ВПРАВА 52.1

Завдання. Створіть вікно програми авторизації відповідно до зразка (рис. 52.3).

52.3.

ПОЗИЦІЮВАННЯ ЕЛЕМЕНТІВ КЕРУВАННЯ

У попередньому прикладі ми розташували елементи керування один над одним, але в більшості додатків об’єкти можуть бути розташовані в різних місцях вікна. Розглянемо, що треба змінити у програмному коді, аби вікно набуло вигляду, як на рис. 52.4.

Для розташування елемента керування у визначеному місці замість методу раск() використовують метод ріасе(), для якого можна встановити параметри

координати розміщення об’єкта, розміри об’єкта тощо. Загальна структура даного методу має вигляд:

де х, у — координати верхнього лівого кута об’єкта, width — ширина, height — висота об’єкта.

Отже, щоб розташувати елементи керування у вікні, необхідно спочатку визначити координати верхнього лівого кута кожного об’єкта, а також, у разі необхідності, їхні розміри. Так, на рис. 52.5 наведено приклад застосування методу place() для розташування у вікні кнопки з допомогою коду:

Розглянемо, які значення координат необхідно використати для елементів вікна Авторизація (рис. 52.6). Зверніть увагу, що відлік координатної площини вікна починається з верхнього лівого кута. Значення осі х збільшуються з лівого краю до правого. Значення по осі у визначаються зверху вниз.

Отже, для виведення на екрані напису Логін необхідно замінити код

де х та у — координати верхнього лівого кута напису Login_Lbl.

Аналогічно необхідно замінити коди розташування у вікні й інших елементів керування.

ВПРАВА 52.2

Завдання. Розташуйте елементи керування у вікні Авторизація відповідно до зразка (рис. 52.4).

1. Відкрийте програму із вправи 52.1.

2. Для напису Логін замініть код

3. Аналогічно замініть коди розташування у вікні й інших елементів керування, обираючи в якості необхідних координат значення, зазначені на рис. 52.6.

4. Запустіть програму на виконання. В результаті елементи мають змінити своє розташування у вікні.

52.4.

ВЛАСТИВОСТІ ЕЛЕМЕНТІВ КЕРУВАННЯ

Ми розглянули, як створити вікно авторизації, використовуючи різні властивості елементів керування. Проте цих властивостей знач-

но більше. Так, у таблиці 52.1 наведено основні властивості для напису, тобто об’єкта, створеного з допомогою конструктора Label. Далі деякі з них розглянемо більш детально.

Таблиця 52.1. Властивості напису

Властивість

Опис

Значення

шрифт тексту

назва, розмір, накреслення (bold, italic, underline)

колір фону / колір шрифту

константа або код

товщина контуру

константа або код

вирівнювання

відступ від межі елемента до тексту зліва та справа

значення в пікселях

відступ від межі елемента до тексту знизу та зверху

значення в пікселях

тип межі

Властивість шрифту

Більш складною за своєю структурою є властивість font. Вона може містити значення назви шрифту, його розмір та накреслення. Наприклад,

З останнього прикладу видно, що властивості шрифту можна записувати в лапках через пробіл. Проте цей спосіб не підійде, коли назва шрифту має більше ніж одне слово. В цьому випадку можна скористатися другим способом, записуючи параметри властивості в дужках, відокремлюючи комою. Наприклад,

У цьому прикладі bold, italic, underline — це накреслення, що приймає значення напівжирний, курсив та підкреслений відповідно.

Властивості кольору

Властивості bg (background) та fg (foreground) установлюють колір фону та шрифту.

При встановленні значення властивості кольору, крім англійських слів, що визначають колір (red, blue тощо), можна також використовувати код кольору у форматі RGB шістнадцяткового подання. Так, наприклад, команди

будуть указу-

вати на однакове значення властивості заливки фону червоним кольором.

У разі необхідності, коди кольорів можна легко знайти в Інтернеті у палітрах кольорів, наприклад, на сайті: html-color-codes.info.

Ми розглянули основні властивості елемента керування «напис». Більшість розглянутих властивостей містять також й інші елементи керування.

Контрольні запитання та завдання

1. Як додати до графічного вікна такі елементи, як напис, текстове поле, кнопку?

2. Як в одному об’єкті напис розташувати текст у декілька рядків?

3. Чим відрізняються методи pack та place?

4. Яка властивість використовується для зміни шрифту? Опишіть її синтаксис.

5. Як установити колір фону та шрифту елемента керування?

6. Для чого використовується властивість state?

Питання для роздумів

1*. Які елементи керування, розглянуті в цьому параграфі, ви використовували раніше у Windows-програмах? Наведіть приклади. 2*. Чим властивість об’єкта відрізняється від методу?

Завдання для досліджень

1*. Знайдіть, які ще властивості використовуються для елементів напису, текстового поля та кнопки.

 

Це матеріал з підручника Інформатика 8 клас Казанцева, Стеценко (2021)

 



Попередня сторінка:  51. Основні поняття об'єктно-орієнтова...
Наступна сторінка:   53. Обробники подій, пов'язані з елемен...



^