Информатика, вопрос задал mama03042009 , 1 год назад

помогите срочно!!!!!!!!​

Приложения:

Ответы на вопрос

Ответил UseDark
0

import tkinter as tk

# створення вікна програми

window = tk.Tk()

window.geometry('300x200')

window.title('')

# функція, яка змінює колір вікна в залежності від вибраного кольору на перемикачах

def change_color():

   if var_red.get() == 1:

       window.configure(bg='red')

   elif var_yellow.get() == 1:

       window.configure(bg='yellow')

   elif var_green.get() == 1:

       window.configure(bg='green')

# створення перемикачів та встановлення їх значень

var_red = tk.IntVar()

chk_red = tk.Checkbutton(window, text='Червоний', variable=var_red)

chk_red.pack()

var_yellow = tk.IntVar()

chk_yellow = tk.Checkbutton(window, text='Жовтий', variable=var_yellow)

chk_yellow.pack()

var_green = tk.IntVar()

chk_green = tk.Checkbutton(window, text='Зелений', variable=var_green)

chk_green.pack()

# створення кнопки "Застосувати" та зв'язування з функцією зміни кольору

btn_apply = tk.Button(window, text='Застосувати', command=change_color)

btn_apply.pack()

# створення пропорції для зміни назви програми

var_title = tk.BooleanVar()

chk_title = tk.Checkbutton(window, text='Змінити назву на "Світлофор"', variable=var_title)

# функція, яка змінює назву вікна

def change_title():

   if var_title.get() == 1:

       window.title('Світлофор')

   else:

       window.title('')

# зв'язування пропорції з функцією зміни назви програми

chk_title.config(command=change_title)

chk_title.pack()

window.mainloop()



Цей код створює вікно програми з трьома перемикачами для вибору кольору, кнопкою "Застосувати" для зміни кольору вікна та пропорцією для зміни назви програми. Якщо вибрано перемикач з певним кольором і натиснуто кнопку "Застосувати", то колір вікна змінюється на відповідний.



Для того, щоб змінити назву програми на "Світлофор", можна використати функцію setWindowTitle() з модуля PyQt5.QtWidgets. Нижче наведений код, який змінює назву програми на "Світлофор", якщо прапорець flag встановлений
from PyQt5.QtWidgets import QApplication, QWidget

import sys

class MyWindow(QWidget):

   def __init__(self):

       super().__init__()

       self.initUI()

   def initUI(self):

       self.setGeometry(100, 100, 250, 150)

       self.setWindowTitle('')

       flag = True  # прапорець для зміни назви програми

       # створюємо кнопку та перемикачі

       button = QPushButton('Застосувати', self)

       button.move(85, 100)

       red_rb = QRadioButton('Червоний', self)

       red_rb.move(20, 20)

       yellow_rb = QRadioButton('Жовтий', self)

       yellow_rb.move(20, 40)

       green_rb = QRadioButton('Зелений', self)

       green_rb.move(20, 60)

       # підключаємо слот до кнопки

       button.clicked.connect(self.apply_color)

       self.show()

       # функція зміни кольору вікна та назви програми

       def apply_color(self):

           color = 'red'

           if yellow_rb.isChecked():

               color = 'yellow'

           elif green_rb.isChecked():

               color = 'green'

           

           self.setStyleSheet(f'background-color: {color}')

           

           # змінюємо назву програми, якщо прапорець встановлений

           if flag:

               self.setWindowTitle('Світлофор')

if __name__ == '__main__':

   app = QApplication(sys.argv)

   window = MyWindow()

   sys.exit(app.exec_())


Новые вопросы