Skip to main content

A simple and lightweight word processor written in qt. معالج نصوص بسيط وخفيف مكتوب بمكتبة qt.

Project description

Kitab — كتاب

Screenshot 2026-06-26 195732

(النص العربي في الاسفل)

A lightweight word processor built with PySide6 (Qt6).
A simple alternative to LibreOffice Writer and Microsoft Word.
Saves documents in .ktb format and exports to PDF.

Features

Feature Description
Rich text editing Bold, italic, underline, strikethrough, color, font family, font size, clear formatting
Text alignment Left, center, right
Find & Replace Case-sensitive search with "replace" and "replace all"
Tables Insert tables with configurable rows, columns, and width
Images Insert images into the document
Save file formats .ktb (Kitab file format — HTML-based), .txt
Export formats PDF
Print Print via system dialog
Zoom Ctrl+scroll or right-click+scroll to zoom in/out
Fullscreen F11 to toggle fullscreen
Page system whenever a page fills up a new page gets created
Right-click menu Undo, redo, cut, copy, paste, find, select all

Tech Stack

  • Python 3.14
  • PySide6 (Qt6 bindings)
  • pyqttooltip — tooltip library
  • qtpy — Qt abstraction layer (used by pyqttooltip)

Project Structure

Kitab/
├── main.py          # Entry point — creates QApplication + MainWindow
├── mainwindow.py    # MainWindow, Editor (QTextEdit), FindReplaceDialog
├── images.py        # Base64-encoded app icon (imported by mainwindow.py)
├── icon.ico         # Windows icon
├── requirements.txt # Python dependencies
├── LICENSE          # GPLv3
└── README.md        # This file

Installation

Arch Linux

sudo pacman -S pyside6 python-qtpy

# pip is currently broken on Arch (expat/Python mismatch).
# Install pyqttooltip manually until it's fixed:
python3 -c "
import urllib.request
url = 'https://files.pythonhosted.org/packages/51/45/627fbd7a6dddf3a55010607e7fb354755b9ae792991a8e66a588f6dfa2a0/pyqttooltip-1.0.0-py3-none-any.whl'
urllib.request.urlretrieve(url, '/tmp/pyqttooltip-1.0.0-py3-none-any.whl')
"
mkdir -p ~/.local/lib/python3.14/site-packages/
unzip -o /tmp/pyqttooltip-1.0.0-py3-none-any.whl -d ~/.local/lib/python3.14/site-packages/

# Run
python main.py

Other platforms

pip install -r requirements.txt
python main.py

كتاب — معالج نصوص عربي

معالج نصوص خفيف مبني على PySide6 (Qt6).
بديل بسيط لـ LibreOffice Writer و Microsoft Word.
يحفظ المستندات بصيغة .ktb ويُصدّرها إلى PDF.

الميزات

الشرح الميزة
عريض، مائل، تحته خط، يتوسطه خط، لون، نوع الخط، حجم الخط، مسح التنسيق تحرير نصوص منسقة
يمين، وسط، يسار محاذاة النص
بحث مع خيار مطابقة الحروف الكابتل، استبدال الكل بحث واستبدال
إدراج جداول بعدد صفوف وأعمدة وعرض قابل للتعديل جداول
إدراج صور داخل المستند صور
.ktb (كتاب — مبنية على HTML)، .txt صيغ ملفات الحفظ
PDF صيغ التصدير
طباعة عبر نافذة النظام طباعة
Ctrl + عجلة الفأرة أو الزر الأيمن + عجلة الفأرة تكبير/تصغير
F11 ملء الشاشة
كلما امتلأت الصفحة تنشأ صفحة جديدة نظام الصفحات
تراجع، إعادة، قص، نسخ، لصق، بحث، تحديد الكل قائمة زر الفأرة الأيمن

هيكل المشروع

Kitab/
├── main.py          # نقطة الدخول — يُنشئ QApplication و MainWindow
├── mainwindow.py    # النافذة الرئيسية، المحرر، نافذة البحث والاستبدال
├── images.py        # أيقونة التطبيق بصيغة Base64
├── icon.ico         # أيقونة ويندوز
├── requirements.txt # متطلبات Python
├── LICENSE          # رخصة GPL v3
└── README.md        # هذا الملف

التنصيب

‏Arch Linux

sudo pacman -S pyside6 python-qtpy

# pip معطل حالياً على أرش بسبب عدم تطابق expat/Python.
# ثبت pyqttooltip يدوياً إلى أن تُحل المشكلة:
python3 -c "
import urllib.request
url = 'https://files.pythonhosted.org/packages/51/45/627fbd7a6dddf3a55010607e7fb354755b9ae792991a8e66a588f6dfa2a0/pyqttooltip-1.0.0-py3-none-any.whl'
urllib.request.urlretrieve(url, '/tmp/pyqttooltip-1.0.0-py3-none-any.whl')
"
mkdir -p ~/.local/lib/python3.14/site-packages/
unzip -o /tmp/pyqttooltip-1.0.0-py3-none-any.whl -d ~/.local/lib/python3.14/site-packages/

# تشغيل التطبيق
python main.py

المنصات الأخرى

pip install -r requirements.txt
python main.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kitab_writer-0.1.1.tar.gz (39.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kitab_writer-0.1.1-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

Details for the file kitab_writer-0.1.1.tar.gz.

File metadata

  • Download URL: kitab_writer-0.1.1.tar.gz
  • Upload date:
  • Size: 39.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":null,"cpu":"x86_64","distro":{"libc":{"lib":"glibc","version":"2.43"},"name":"Fedora Linux","version":"44"},"implementation":{"name":"CPython","version":"3.14.5"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.5.7 9 Jun 2026","python":"3.14.5","system":{"name":"Linux","release":"6.6.114.1-microsoft-standard-WSL2"}} HTTPX2/2.5.0

File hashes

Hashes for kitab_writer-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b41ed86e5c966b9f5a8b54ea164b3fc4b51dbf6ff45121dc0cdd4cfa929a6c7e
MD5 48a240d8164532d25c612dfbabefa421
BLAKE2b-256 4b77eb0c7300cb54834b4fe36915e41de4b7b3a79d6cd71680231d7e82e388e7

See more details on using hashes here.

File details

Details for the file kitab_writer-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: kitab_writer-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 28.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":null,"cpu":"x86_64","distro":{"libc":{"lib":"glibc","version":"2.43"},"name":"Fedora Linux","version":"44"},"implementation":{"name":"CPython","version":"3.14.5"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.5.7 9 Jun 2026","python":"3.14.5","system":{"name":"Linux","release":"6.6.114.1-microsoft-standard-WSL2"}} HTTPX2/2.5.0

File hashes

Hashes for kitab_writer-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e48752a0d6c103cf85eba5c0cd268232b783cc11f28f1f16a69a6f629e6684a8
MD5 75a5b9f874a0c815ae16368a242dba02
BLAKE2b-256 7d30f479055f29102cad59c07c335b5a10bddc3ba22c52dc16462ef079675411

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page