Вопрос задан 01.07.2023 в 05:13. Предмет Информатика. Спрашивает Козлова Настя.

Вы решили поехать в поход и Вам необходимо положить в рюкзак необходимые вещи: фонарик и компас,

палатку, аптечку, зажигалку, воду и еду, предметы личной гигиены. Напишите программу для реализации выбора данных вещей. При нажатии на виджет Checkbutton, его фон должен окраситься в светло-зелёный цвет и стать недоступным. Python!!!!!!!
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Абдулаев Роман.

from PyQt5 import QtWidgets, QtCore, QtGui, QtWidgets

from sys import exit

class Ui_Form(object):

   def setupUi(self, Form):

       Form.setObjectName("Form")

       Form.resize(400, 300)

       Form.setStyleSheet("QCheckBox:checked{\n"

"    background: #9cee90;\n"

"}")

       self.gridLayoutWidget = QtWidgets.QWidget(Form)

       self.gridLayoutWidget.setGeometry(QtCore.QRect(10, 10, 371, 271))

       self.gridLayoutWidget.setObjectName("gridLayoutWidget")

       self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)

       self.gridLayout.setContentsMargins(0, 0, 0, 0)

       self.gridLayout.setObjectName("gridLayout")

       self.checkBox = QtWidgets.QCheckBox(self.gridLayoutWidget)

       self.checkBox.setObjectName("checkBox")

       self.gridLayout.addWidget(self.checkBox, 1, 0, 1, 1)

       self.checkBox_3 = QtWidgets.QCheckBox(self.gridLayoutWidget)

       self.checkBox_3.setObjectName("checkBox_3")

       self.gridLayout.addWidget(self.checkBox_3, 2, 0, 1, 1)

       self.checkBox_4 = QtWidgets.QCheckBox(self.gridLayoutWidget)

       self.checkBox_4.setObjectName("checkBox_4")

       self.gridLayout.addWidget(self.checkBox_4, 3, 0, 1, 1)

       self.checkBox_2 = QtWidgets.QCheckBox(self.gridLayoutWidget)

       self.checkBox_2.setObjectName("checkBox_2")

       self.gridLayout.addWidget(self.checkBox_2, 0, 0, 1, 1)

       self.checkBox_5 = QtWidgets.QCheckBox(self.gridLayoutWidget)

       self.checkBox_5.setObjectName("checkBox_5")

       self.gridLayout.addWidget(self.checkBox_5, 0, 1, 1, 1)

       self.checkBox_6 = QtWidgets.QCheckBox(self.gridLayoutWidget)

       self.checkBox_6.setObjectName("checkBox_6")

       self.gridLayout.addWidget(self.checkBox_6, 1, 1, 1, 1)

       self.checkBox_7 = QtWidgets.QCheckBox(self.gridLayoutWidget)

       self.checkBox_7.setObjectName("checkBox_7")

       self.gridLayout.addWidget(self.checkBox_7, 2, 1, 1, 1)

       self.checkBox_8 = QtWidgets.QCheckBox(self.gridLayoutWidget)

       self.checkBox_8.setObjectName("checkBox_8")

       self.gridLayout.addWidget(self.checkBox_8, 3, 1, 1, 1)

       self.retranslateUi(Form)

       QtCore.QMetaObject.connectSlotsByName(Form)

   def retranslateUi(self, Form):

       _translate = QtCore.QCoreApplication.translate

       Form.setWindowTitle(_translate("Form", "Form"))

       self.checkBox.setText(_translate("Form", "компас"))

       self.checkBox_3.setText(_translate("Form", "палатка"))

       self.checkBox_4.setText(_translate("Form", "аптечка"))

       self.checkBox_2.setText(_translate("Form", "фонарик"))

       self.checkBox_5.setText(_translate("Form", "зажигалка"))

       self.checkBox_6.setText(_translate("Form", "вода"))

       self.checkBox_7.setText(_translate("Form", "еда"))

       self.checkBox_8.setText(_translate("Form", "предметы личной гигиены"))

class mywindow(QtWidgets.QMainWindow):

   def __init__(self):

       super(mywindow, self).__init__()

       self.ui = Ui_Form()

       self.ui.setupUi(self)

app = QtWidgets.QApplication([])

application = mywindow()

application.show()

 

exit(app.exec())

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для создания программы с использованием библиотеки Tkinter в Python, которая позволит выбирать вещи для рюкзака с помощью Checkbutton, следует выполнить следующий код:

python
import tkinter as tk def toggle_item(item): if item in selected_items: selected_items.remove(item) checkbuttons[item].config(bg="white", state=tk.NORMAL) else: selected_items.append(item) checkbuttons[item].config(bg="lightgreen", state=tk.DISABLED) root = tk.Tk() root.title("Выбор вещей для рюкзака") items = [ "фонарик и компас", "палатку", "аптечку", "зажигалку", "воду и еду", "предметы личной гигиены" ] selected_items = [] checkbuttons = {} for item in items: checkbuttons[item] = tk.Checkbutton(root, text=item, command=lambda i=item: toggle_item(i)) checkbuttons[item].pack(anchor=tk.W) root.mainloop()

Скопируйте этот код в файл с расширением .py и запустите его. Откроется окно с перечисленными вами вещами в виде Checkbutton. При выборе каждого из них, фон кнопки окрасится в светло-зелёный цвет и станет недоступным для изменений. Повторное нажатие на кнопку снимет выбор и вернет фон в обычный белый цвет, сделав кнопку снова доступной.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос