Selamlar. Mini Ekip Görev Sistemi projesini sizinle paylaşmak istedim.
Proje üzerindeki eksikleri, eklemem gerekenleri ve neleri eklersem daha iyi olabileceği hakkında görüşlerinizi belirtebilirsiniz
Projeden Görseller
Proje Kaynak Kodları
Python:
import json
import os
from datetime import datetime
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QListWidget, QVBoxLayout, QPushButton, QLabel, QLineEdit, \
QMessageBox, QFrame, QDialog, QListWidgetItem
from PyQt5.QtGui import QPixmap
from PyQt5.QtCore import Qt
import qdarkstyle
from PyQt5.QtWidgets import QHBoxLayout
from PyQt5.QtWidgets import QInputDialog
from PyQt5.QtWidgets import QTabWidget, QTextEdit
from PyQt5.QtWidgets import QVBoxLayout, QLabel, QMainWindow
PRIMARY_COLOR = "#405DE6"
SECONDARY_COLOR = "#5851DB"
BACKGROUND_COLOR = "#000000"
TEXT_COLOR = "#FFFFFF"
class Task:
def init(self, name, description, content="", status="Not Started", created_at=None, person_name=None):
self.name = name
self.description = description
self.content = content
self.status = status
self.created_at = created_at if created_at else datetime.now().strftime("%Y-%m-%d %H:%M:%S")
self.person_name = person_name
def to_dict(self):
return {
"name": self.name,
"description": self.description,
"content": self.content,
"status": self.status,
"created_at": self.created_at,
"person_name": self.person_name
}
class TaskTrackerApp(QWidget):
class TeamMembersDialog(QDialog):
def init(self, team_members):
super().init()
self.team_members = team_members
self.setWindowTitle("Ekip Üyeleri")
self.setGeometry(300, 300, 500, 300)
self.setStyleSheet(f"background-color: {BACKGROUND_COLOR}; color: {TEXT_COLOR};")
layout = QVBoxLayout(self)
self.team_members_list = QListWidget(self)
for member in self.team_members:
self.team_members_list.addItem(member)
layout.addWidget(self.team_members_list)
button_layout = QHBoxLayout()
add_button = QPushButton("Ekip Üyesi Ekle", self)
add_button.clicked.connect(self.add_team_member)
button_layout.addWidget(add_button)
remove_button = QPushButton("Ekip Üyesi Çıkar", self)
remove_button.clicked.connect(self.remove_team_member)
button_layout.addWidget(remove_button)
layout.addLayout(button_layout)
self.save_button = QPushButton("Kaydet", self)
self.save_button.clicked.connect(self.save_team_members)
layout.addWidget(self.save_button)
def add_team_member(self):
member_name, ok = QInputDialog.getText(self, "Ekip Üyesi Ekle", "Ekip Üyesi Adı:")
if ok and member_name:
self.team_members.append(member_name)
self.team_members_list.addItem(member_name)
def remove_team_member(self):
selected_item = self.team_members_list.currentItem()
if selected_item:
member_name = selected_item.text()
self.team_members.remove(member_name)
self.team_members_list.takeItem(self.team_members_list.row(selected_item))
def save_team_members(self):
with open("team_members.txt", "w") as file:
for member in self.team_members:
file.write(member + "\n")
def init(self):
super().init()
self.team_members = []
self.load_team_members()
self.file_path = "tasks.json"
self.tasks = []
self.load_tasks()
self.setWindowTitle("Black Hat Team Görev Sistemi")
self.setGeometry(100, 100, 500, 800)
self.setStyleSheet(f"background-color: {BACKGROUND_COLOR}; color: {TEXT_COLOR};")
logo_label = QLabel(self)
logo_label.setGeometry(10, 10, 100, 100)
logo_pixmap = QPixmap("/Users/404qea/Downloads/bhtlogo.jpeg")
logo_label.setPixmap(logo_pixmap.scaled(logo_label.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation))
task_frame = QFrame(self)
task_frame.setGeometry(120, 10, 370, 100)