Na Internecie znalazłem podobny edytor tylko że płatny.
Czy ktoś potrafił by zaprogramować taki edytor.
Edytor, który ktoś by Ci zaprogramował też będzie płatny.
Chat GPT napisze Ci taki skrypt za darmo bez większych zgrzytów: https://chatgpt.com/share/678c77df-3134-800a-9005-8a0f1dd25b56
Nawet jak go poprosiłem o zrobienie GUI w PyQt, to zrobił:
Kopiuj
import sys
from PyQt5.QtWidgets import (QApplication, QVBoxLayout, QLabel, QLineEdit,
QPushButton, QRadioButton, QWidget, QTextEdit, QSpinBox, QHBoxLayout)
def modify_words(text, x, from_start=True):
"""
Modyfikuje każde słowo w tekście, usuwając X pierwszych lub ostatnich znaków.
:param text: Tekst wejściowy
:param x: Liczba znaków do usunięcia
:param from_start: Jeśli True, usuwa znaki od początku; jeśli False, od końca
:return: Tekst po modyfikacji
"""
words = text.split()
modified_words = []
for word in words:
if len(word) > x:
modified_word = word[x:] if from_start else word[:-x]
modified_words.append(modified_word)
return ' '.join(modified_words)
class TextModifierApp(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
# Layout główny
layout = QVBoxLayout()
# Pole tekstowe dla wejściowego tekstu
self.input_label = QLabel("Wprowadź tekst:")
self.input_text = QTextEdit()
layout.addWidget(self.input_label)
layout.addWidget(self.input_text)
# Spinner dla liczby znaków do usunięcia
self.x_label = QLabel("Liczba znaków do usunięcia:")
self.x_spinbox = QSpinBox()
self.x_spinbox.setMinimum(0)
self.x_spinbox.setMaximum(100)
layout.addWidget(self.x_label)
layout.addWidget(self.x_spinbox)
# Opcje usuwania znaków od początku lub końca
self.start_radio = QRadioButton("Usuń od początku")
self.start_radio.setChecked(True)
self.end_radio = QRadioButton("Usuń od końca")
radio_layout = QHBoxLayout()
radio_layout.addWidget(self.start_radio)
radio_layout.addWidget(self.end_radio)
layout.addLayout(radio_layout)
# Przycisk do przetwarzania tekstu
self.process_button = QPushButton("Przetwórz tekst")
self.process_button.clicked.connect(self.process_text)
layout.addWidget(self.process_button)
# Pole tekstowe dla wynikowego tekstu
self.output_label = QLabel("Zmodyfikowany tekst:")
self.output_text = QTextEdit()
self.output_text.setReadOnly(True)
layout.addWidget(self.output_label)
layout.addWidget(self.output_text)
# Ustawienia okna
self.setLayout(layout)
self.setWindowTitle("Modyfikator Tekstu")
self.resize(400, 300)
def process_text(self):
# Pobierz dane z pól
input_text = self.input_text.toPlainText()
x = self.x_spinbox.value()
from_start = self.start_radio.isChecked()
# Przetwarzanie tekstu
modified_text = modify_words(input_text, x, from_start)
# Wyświetl wynik
self.output_text.setPlainText(modified_text)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = TextModifierApp()
window.show()
sys.exit(app.exec_())
