Advertisement
Guest User

qpt_test

a guest
Nov 21st, 2023
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  1. import sys
  2. from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QMessageBox
  3. from PyQt5.QtGui import QFont, QPixmap
  4. from PyQt5.QtCore import Qt
  5.  
  6.  
  7. def get_word(date):
  8. words = ["КПП - Капля", "Капля - Глиста", "Глиста - Морж", "Морж - КПП"]
  9. index = (date - 1) % len(words)
  10. return words[index]
  11.  
  12.  
  13. class MainWindow(QWidget):
  14. def __init__(self):
  15. super().__init__()
  16. self.layout = None
  17. self.setWindowTitle("Дежурные")
  18. self.resize(600, 500)
  19. self.setStyleSheet("background-color: lightblue;")
  20. self.initUI()
  21.  
  22. def initUI(self):
  23. self.layout = QVBoxLayout()
  24. self.background_label = QLabel()
  25. self.load_background_image('D:/Загрузка/photo_2023-11-21_15-36-26.jpg')
  26.  
  27. self.label = QLabel("Введите дату в формате ДД.ММ:")
  28. self.label.setFont(QFont("Arial", 20))
  29. self.date_input_field = QLineEdit()
  30. self.button = QPushButton("Получить дежурного")
  31. self.button.setFont(QFont("Arial", 14))
  32. self.close_button = QPushButton("похуй")
  33. self.close_button.setFont(QFont("Arial", 14))
  34.  
  35. self.layout.addWidget(self.background_label)
  36. self.layout.addWidget(self.label)
  37. self.layout.addWidget(self.date_input_field)
  38. self.layout.addWidget(self.button)
  39. self.layout.addWidget(self.close_button)
  40.  
  41. self.button.clicked.connect(self.get_duty)
  42. self.close_button.clicked.connect(self.closeEvent)
  43.  
  44. self.setLayout(self.layout)
  45.  
  46. def load_background_image(self, filepath):
  47. pixmap = QPixmap(filepath)
  48. pixmap = pixmap.scaled(600, 500, Qt.KeepAspectRatio)
  49. self.background_label.setPixmap(pixmap)
  50. self.background_label.setAlignment(Qt.AlignCenter)
  51.  
  52. def get_duty(self):
  53. date = self.date_input_field.text()
  54. try:
  55. day, month = date.split(".")
  56. day = int(day)
  57. word = get_word(day)
  58. self.label.setText(f'Дежурные: {word}')
  59. except ValueError:
  60. self.label.setText("Ошибка ввода даты!")
  61.  
  62. def closeEvent(self, event):
  63. reply = QMessageBox.question(self, 'Выйти из приложения', "Вы уверены, что хотите выйти?", QMessageBox.Yes | QMessageBox.No)
  64. if reply == QMessageBox.Yes:
  65. event.accept()
  66. else:
  67. event.ignore()
  68. if __name__ == '__main__':
  69. app = QApplication(sys.argv)
  70. window = MainWindow()
  71. window.show()
  72. sys.exit(app.exec_())
  73.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement