연재 1편
연재 2편
1강 완성 코드
import sys, os
from PySide6.QtWidgets import QWidget,QApplication
from PySide6.QtWidgets import (
QApplication, QWidget, QVBoxLayout, QHBoxLayout, QSpacerItem, QSizePolicy,
QPushButton, QLineEdit, QComboBox, QTextEdit, QLabel, QSlider
)
from PySide6.QtGui import QIcon
from PySide6.QtCore import Qt
class BlogSummarizer(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.setWindowTitle("블로그 글 요약 프로그램")
self.setGeometry(200, 200, 450, 600)
# Layouts
layout = QVBoxLayout()
# URL Input
layout.addWidget(QLabel("😃 블로그 주소를 입력해주세요. URL :"))
self.url_input = QLineEdit("https://blog.naver.com/lread90/223169515095")
layout.addWidget(self.url_input)
# Summary Slider
self.slider_label = QLabel("요약률 설정 (기본 50%)")
self.summary_slider = QSlider(Qt.Horizontal)
self.summary_slider.setRange(10, 100)
self.summary_slider.setValue(50)
self.summary_slider.setTickPosition(QSlider.TicksBelow)
self.summary_slider.setTickInterval(10)
self.summary_slider.valueChanged.connect(self.update_slider_label)
layout.addWidget(self.slider_label)
layout.addWidget(self.summary_slider)
# Dropdown
OPTIONS = ["요약문 원본만 표시", "출처 맨 상단 표시", "출처 맨 하단 표시"]
layout.addWidget(QLabel("출처 표기 방식 선택하기"))
self.dropdown = QComboBox()
self.dropdown.addItems(OPTIONS)
layout.addWidget(self.dropdown)
# Buttons
self.run_button = QPushButton("요약 시작하기")
layout.addWidget(self.run_button)
# Summary Text
self.char_count_label = QLabel("원문 글자 수: 0 | 요약본 글자 수: 0")
layout.addWidget(self.char_count_label)
self.summary_text = QTextEdit(readOnly=True, placeholderText="요약 결과가 이곳에 나타납니다.")
layout.addWidget(self.summary_text)
# Copy Button
copy_button = QPushButton("텍스트 복사하기")
layout.addWidget(copy_button)
# Logs
self.log_text = QLineEdit(readOnly=True, placeholderText="작업 로그")
layout.addWidget(self.log_text)
self.setLayout(layout)
def update_slider_label(self):
value = self.summary_slider.value()
self.slider_label.setText(f"요약률 설정: {value}%")
self.log(f"요약률이 {value}%로 변경되었습니다.")
app = QApplication(sys.argv)
window = BlogSummarizer()
window.show()
app.exec()
'프로그램 개발 강의 > 문서 글 요약 프로그램 개발 강의' 카테고리의 다른 글
[2강/완성코드] 문서 요약 프로그램 개발강의 Python GUI 프로그램 개발 (0) | 2024.12.11 |
---|