QtAlchemy

Скріншот програми:
QtAlchemy
Дані програми:
Версія: 0.8.3
Дата завантаження: 20 Feb 15
Розробник: Joel B. Mohler
Ліцензія: Безкоштовно
Популярність: 38

Rating: 2.0/5 (Total Votes: 1)

QtAlchemy є колекція Qt модель-представлення класів і допоміжних функцій, щоб допомогти в швидкої розробки додатків бази даних робочого столу і NBSP ;. Вона спрямована, щоб забезпечити сильну API для експонування зовнішнього ключа в елегантною і безпосередній способів користувача додатків , Контекстні меню, пошуки і комбо-бокси та вкладок інтерфейси, що використовуються все. Використання SQLAlchemy робить можливим, щоб ці функції підтримуються на різних движків баз даних практично без зміни коду.
Клас Command дає можливість конструювати меню і панелей інструментів з прикрашених функцій Python. Потужність цього стає все більш очевидним, якщо пов'язаний з тим, де командна функція може отримати ідентифікатор обраного елемента в поданні. Це забезпечує гнучкий спосіб зв'язати команди до будь SQLAlchemy запит генеруються уявлень.
Повна документація доступна на http://qtalchemy.org.
QtAlchemy була розроблена з пітона 2.6.x, SQLAlchemy 0.6.x і PyQt 4.7.x. Очікується, що він буде працювати і на всіх прилеглих версій. Існує зусилля, зроблені, щоб переконатися, що функція паритет досягається для Windows і Linux (і Mac, але я не один).
QtAlchemy, як очікується, повноцінно працювати з PySide у версії 1.0.4. Підтримка PySide може бути включений, запустивши скрипт, use_pyside.sh, які просто змінює імпорт з PyQt4 в PySide.
Приклад
В інтересах того, щоб бути коротким, приклад, наведений тут не звернутися до бази даних.
QtAlchemy допомогою API2 з PyQt, тому ми повинні включити, що перед імпортом PyQt4
І NBSP; >>> імпорту SIP
І NBSP; >>> sip.setapi ('QString', 2)
І NBSP; >>> sip.setapi ('QVariant', 2)
Властивість класу UserAttr забезпечує ще один тип визначається пітона власності. Мета винаходити це було для того, щоб ми могли взаємодіяти з нашими моделями достатньо і забезпечують рівномірний досвід для властивостей стовпців SQLAlchemy і властивостей UserAttr.
І NBSP; >>> від qtalchemy UserAttr імпорту
І NBSP; >>> імпорту DateTime
І NBSP; >>> класу Person (об'єкт):
І NBSP; ... Ім'я = UserAttr (вул, "Name")
І NBSP; ... birth_date = UserAttr (datetime.date, "Дата народження")
І NBSP; ... вік = UserAttr (INT ", (днів)", тільки для читання = True)
І NBSP; ...
І NBSP; ... @ age.on_get
І NBSP; ... Def age_getter (само):
І NBSP; ... повернення (datetime.date.today () - self.birth_date) .days
З цієї декларації, ми можемо оголосити людини і обчислити їх вік:
І NBSP; >>> Me = Людина ()
І NBSP; >>> me.name = "Джоел"
І NBSP; >>> me.birth_date = datetime.date (1979,1,9)
І NBSP; >>> me.age #depends на сьогодні! - #doctest: + SKIP
І NBSP; 11746
І NBSP; >>> me.age- (datetime.date.today () - datetime.date (2011,1,9)) днів # на день народження 1> з PyQt4 імпорту QtCore, QtGui.
І NBSP; >>> від qtalchemy MapperMixin імпорту, LayoutLayout, ButtonBoxButton, LayoutWidget
І NBSP; >>>
І NBSP; >>> класу PersonEdit (QtGui.QDialog, MapperMixin):
І NBSP; ... Def __init __ (сам, батько, особа):
І NBSP; ... QtGui.QDialog .__ ініціалізації __ (сам, батько)
І NBSP; ... MapperMixin .__ ініціалізації __ (Я)
І NBSP; ...
І NBSP; ... self.person = людина
І NBSP; ...
І NBSP; ... VBox = QtGui.QVBoxLayout (Я)
І NBSP; ... мм = self.mapClass (Person)
І NBSP; ... mm.addBoundForm (VBox, ["Ім'я", "birth_date"])
І NBSP; ... mm.connect_instance (self.person)
І NBSP; ...
І NBSP; ... кнопки = LayoutWidget (VBox, QtGui.QDialogButtonBox ())
І NBSP; ... self.close_button = ButtonBoxButton (кнопки, QtGui.QDialogButtonBox.Ok)
І NBSP; ... buttons.accepted.connect (self.btnClose)
І NBSP; ...
І NBSP; ... Def btnClose (само):
І NBSP; ... self.submit () # зміни спуститися до моделі на фокус-зміни; забезпечити отримання поточного фокусу
І NBSP; ... self.close ()
І тепер, нам потрібно тільки трохи додаток код насправді удар це від
І NBSP; >>> додаток = QtGui.QApplication ([])
І NBSP; >>> Сем = Людина ()
І NBSP; >>> sam.name = "Самуель"
І NBSP; >>> d = PersonEdit (None, SAM)
І NBSP; >>> d.exec_ () # GUI взаємодія - #doctest: + SKIP
І NBSP; 0
І NBSP; >>> sam.age # передбачає вибір Вчора в GUI - #doctest: + SKIP
І NBSP; 1
Розробка
QtAlchemy ще знаходиться в розробці важкої основний стільки, скільки мій графік роботи дозволяє. Документація росте як ідеї конкретизуються, і я дізнаюся сфінкса для загального покоління документації. Ми прагнемо до повного охоплення док-тест, наскільки це можливо, але PyQt модель-представлення і GUI накладають певні ускладнення на Doc-тестів.
Мої очікування 0,7 продовжувати рости, так що я дав в прес-релізі 0.6.10 під новим ім'ям qtalchemy. Це відбувається в парі з абсолютно новим (і не дуже закінчив) веб-сторінки http://qtalchemy.org. Перед випуском 0,7, я прагну мати:
- Документ, вибір InputYoke
- PBMdiTable і PBSearchDialog перехід до qtalchemy.ext

Що нового У цьому випуску:

  • Підтримка Python 3! Ні 2to3 або інші підводні камені.
  • виправлення сумісності SQLAlchemy 0.9x

Що нового у версії 0.8.0:

  • Змінити, щоб PySide як імпорт замовчуванням
  • Релакс ліцензію GPL, щоб LGPL
  • Поліпшення зміни ярмо обробки
  • Створити нову PopupKeyListing для введення даних з клавіатури зовнішньої

Що нового у версії 0.7.1:

  • QueryDataView отримали основну здатність Requery на колонці кліків заголовка для сортування
  • трохи Doc виправлення
  • новий допоміжна функція сім'ї для використання Geraldo в qtalchemy.ext.reporttools

Що нового у версії 0.7.0:

  • Покращена обробка помилок винятком і звітності для додатків з графічним інтерфейсом з від'їзду консолі
  • новий хомут підтримки зі списком
  • підвищення ярмо документації
  • додати повні приклади перед документації
  • різні моделі / поліпшення списку, що включає ширину стовпців дефолту

Що нового у версії 0.6.12:

  • BoundCommandMenu має слоти повинні бути спрямовані від HTML обов'язкового юридичної особи команди HTML перегляду форми
  • структуровані завантажувати і зберігати розширення рамок в BoundDialog
  • новий TreeView піддаючи QTreeView
  • Підтримка модель дерева в PBTableModel
  • покращилася PySide портативність і Виправлені різні краш-помилки, пов'язані з цим

Що нового у версії 0.6.11:

  • контекстно-залежна допомога та стану поради для полів

  • Сигнали
  • новий Предв / з оновленням структури CommandEvent дозволяють переривати на екрані навколишнього середовища
  • поліпшення загального майстра імпорту даних
  • , поліпшення оглядовості стіл (виправлення помилок, виправлених оновлень моделі, щоб бути більш точним)
  • використання pywin32 ShellExecute замість os.system для кращого підтримки Windows

Що нового у версії 0.6.10:

  • перейменований в qtalchemy
  • піддаються зв'язок в Qt іконок з команд, включених в меню і панелей інструментів
  • переїхав qtalchemy.PBTable в qtalchemy.widgets.TableView
  • Новий модуль qtalchemy.ext для звичайних діалогів (майстер імпорту даних в даний час)

Вимоги

  • Python

Схожі програми

HyperDex
HyperDex

20 Feb 15

chartio
chartio

20 Feb 15

TPDA
TPDA

20 Feb 15

LiteSQL
LiteSQL

14 Apr 15

Інші програми розробника Joel B. Mohler

PyHacc
PyHacc

14 Apr 15

QtAlchemy

Коментар не знайдено
додати коментар
Включіть картинки!
Пошук за категоріями