Python
Домашнее задание по программированию, помогите срочно!
Реализовать приложение , где пользователь вводит свое имя и фамилию в тестовые поля, указывает дату рождения с помощью QDateEdit. При нажатии на кнопку эти данные должны сохраниться в текстовом файле.
[Сгенерировано нейросетью]
Для решения данной задачи необходимо использовать библиотеку PyQt для создания графического интерфейса приложения и модуль datetime для работы с датами. Также, для записи данных в файл необходимо использовать модуль os.
Вот пример решения данной задачи:
Для решения данной задачи необходимо использовать библиотеку PyQt для создания графического интерфейса приложения и модуль datetime для работы с датами. Также, для записи данных в файл необходимо использовать модуль os.
Вот пример решения данной задачи:
import os
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QDateEdit, QPushButton, QHBoxLayout, QVBoxLayout
from datetime import datetime
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# Создание виджетов для ввода данных
self.name_label = QLabel('Имя:')
self.name_edit = QLineEdit()
self.surname_label = QLabel('Фамилия:')
self.surname_edit = QLineEdit()
self.birthday_label = QLabel('Дата рождения:')
self.birthday_edit = QDateEdit()
# Создание кнопки сохранения данных
self.save_button = QPushButton('Сохранить')
self.save_button.clicked.connect(self.save_data)
# Создание горизонтальных блоков для группировки виджетов
name_layout = QHBoxLayout()
name_layout.addWidget(self.name_label)
name_layout.addWidget(self.name_edit)
surname_layout = QHBoxLayout()
surname_layout.addWidget(self.surname_label)
surname_layout.addWidget(self.surname_edit)
birthday_layout = QHBoxLayout()
birthday_layout.addWidget(self.birthday_label)
birthday_layout.addWidget(self.birthday_edit)
# Создание вертикального блока для группировки горизонтальных блоков и кнопки
main_layout = QVBoxLayout()
main_layout.addLayout(name_layout)
main_layout.addLayout(surname_layout)
main_layout.addLayout(birthday_layout)
main_layout.addWidget(self.save_button)
self.setLayout(main_layout)
self.setWindowTitle('Моё приложение')
def save_data(self):
# Получение данных из виджетов
name = self.name_edit.text()
surname = self.surname_edit.text()
birthday = self.birthday_edit.date().toPyDate()
# Форматирование даты в строку
formatted_birthday = datetime.strftime(birthday, '%d.%m.%Y')
# Создание строки для записи в файл
data_str = f'{surname} {name}, {formatted_birthday}\n'
# Получение пути к файлу
current_dir = os.path.dirname(os.path.abspath(__file__))
file_path = os.path.join(current_dir, 'data.txt')
# Запись данных в файл
with open(file_path, 'a') as f:
f.write(data_str)
# Очистка полей ввода
self.name_edit.clear()
self.surname_edit.clear()
self.birthday_edit.setDate(datetime.today().date())
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
Так прокатит?
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QDateEdit, QPushButton
import sys
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'Сохранение данных в текстовом файле'
self.left = 10
self.top = 10
self.width = 400
self.height = 300
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top , self.width, self.height)
name_label = QLabel('Имя:', self)
name_label.move(20, 20)
surname_label = QLabel('Фамилия:', self)
surname_label.move(20, 60)
date_label = QLabel('Дата рождения:', self)
date_label.move(20, 100)
name_input = QLineEdit(self)
name_input.move(100, 20)
surname_input = QLineEdit(self)
surname_input.move(100, 60)
date_input = QDateEdit(self)
date_input.move(120, 100)
save_button = QPushButton('Сохранить', self)
save_button.move(150, 140)
save_button.clicked.connect(lambda: save_data(name_input.text(), surname_input.text(), date_input.date()))
def save_data(name: str, surname: str, date: QDate):
with open('data.txt', 'w') as f:
f.write(f'Имя: {name}\n')
f.write(f'Фамилия: {surname}\n')
f.write(f'Дата рождения: {date.toString()}')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
ex.show()
sys.exit(app.exec_())
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QDateEdit, QPushButton
import sys
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'Сохранение данных в текстовом файле'
self.left = 10
self.top = 10
self.width = 400
self.height = 300
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top , self.width, self.height)
name_label = QLabel('Имя:', self)
name_label.move(20, 20)
surname_label = QLabel('Фамилия:', self)
surname_label.move(20, 60)
date_label = QLabel('Дата рождения:', self)
date_label.move(20, 100)
name_input = QLineEdit(self)
name_input.move(100, 20)
surname_input = QLineEdit(self)
surname_input.move(100, 60)
date_input = QDateEdit(self)
date_input.move(120, 100)
save_button = QPushButton('Сохранить', self)
save_button.move(150, 140)
save_button.clicked.connect(lambda: save_data(name_input.text(), surname_input.text(), date_input.date()))
def save_data(name: str, surname: str, date: QDate):
with open('data.txt', 'w') as f:
f.write(f'Имя: {name}\n')
f.write(f'Фамилия: {surname}\n')
f.write(f'Дата рождения: {date.toString()}')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
ex.show()
sys.exit(app.exec_())
Скинь свой тг я помогу
Похожие вопросы
- Задание по программированию помогите срочно!!!
- Помогите сделать домашнее задание по программированию!
- Задача по программированию. Помогите пожалуйста)) Скидывайте, пожалуйста, на любых языках, я все пойму!
- Задание по программированию
- Python программирование. Помогите написать программу.
- Программирование, помогите пожалуйста! Python
- Пайтон программирование помогите решить задачу пжпжж
- Задание по пайтону, помогите пожалуйста решить
- Задача питон помогите срочно
- ПОМОГИТЕ СРОЧНО ПЖ!!