QtAlchemy

צילום מסך תוכנה:
QtAlchemy
פרטי תוכנה:
גרסה: 0.8.3
טען תאריך: 20 Feb 15
מפתחים: Joel B. Mohler
רשיון: ללא תשלום
פופולריות: 38

Rating: 2.0/5 (Total Votes: 1)

QtAlchemy הוא אוסף של Qt Model-View כיתות ופונקציות עוזר לסייע בפיתוח מהיר של יישומי מסדי נתונים של שולחן עבודה & nbsp;. מטרתו לספק API חזק לחשיפת יחסי מפתח זרים בדרכים אלגנטיות ומיידיות למשתמש של יישומים . כל תפריטי הקשר, חיפושים ומשולבים-תיבות וממשקים עם לשוניות מנוצלים. השימוש בSQLAlchemy מאפשר כי תכונות אלה נתמכות על מגוון רחב של ממשקי מסדי נתונים עם כמעט ללא שינויי קוד.
כיתת הפיקוד נותנת דרך לבניית תפריטים וסרגלי כלים מפונקציות פיתון מעוטרת. כוחו של זה הופך להיות ברור יותר כאשר חייב נוף שבו התפקיד הפיקודי אז יכול לקבל את המזהה של הפריט שנבחר בתצוגה. זה מספק דרך גמישה כדי לקשר פקודות לכל דעות שאילתא sqlalchemy שנוצרו.
תיעוד מלא נגיש בhttp://qtalchemy.org.
QtAlchemy פותח עם 2.6.x פיתון, 0.6.x SQLAlchemy ו4.7.x. PyQt צפוי כי זה יהיה פונקציונלי על כל הגרסאות בקרבת המקום. ישנו מאמץ שנעשה כדי לוודא שזוגיות תכונה מושגת עבור Windows ו- Linux (וmac מדי, אבל אין לי אחד).
QtAlchemy צפוי לעבוד באופן מלא עם PySide כשל גרסת 1.0.4. תמיכת PySide יכולה להיות מופעלת על ידי הרצת תסריט מעטפת use_pyside.sh שרק משנה את היבוא מPyQt4 לPySide.
דוגמא
באינטרסים של להיות תמציתי, הדוגמא שניתנה כאן אינה מתייחסת למסד נתונים.
QtAlchemy באמצעות API2 של PyQt ולכן אנחנו צריכים לאפשר את זה לפני יבוא PyQt4
& Nbsp; >>> לגימת יבוא
& Nbsp; >>> sip.setapi ('QString', 2)
& Nbsp; >>> sip.setapi ('QVariant', 2)
מעמד רכוש UserAttr מספק עוד רכוש פיתון סוג מוגדר. המטרה להמציא מחדש זה הייתה להבטיח שאנחנו יכולים לקיים אינטראקציה עם המודלים שלנו מספיק ומספקים חוויה אחידה למאפייני עמודת SQLAlchemy ומאפייני UserAttr.
& Nbsp; >>> מUserAttr יבוא qtalchemy
& Nbsp; >>> datetime יבוא
& Nbsp; >>> אדם כיתה (אובייקט):
& Nbsp; ... name = UserAttr (str, "שם")
& 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; >>> = אדם ()
& Nbsp; >>> me.name = "יואל"
& Nbsp; >>> me.birth_date = datetime.date (1979,1,9)
& Nbsp; >>> #depends me.age על היום! - #doctest: + SKIP
& Nbsp; 11,746
& Nbsp; >>> me.age- (datetime.date.today () - datetime.date (2011,1,9)) # ימים ביום ההולדת של 1> מPyQt4 יבוא QtCore, QtGui.
& Nbsp; >>> מMapperMixin יבוא qtalchemy, LayoutLayout, ButtonBoxButton, LayoutWidget
& Nbsp; >>>
& Nbsp; >>> PersonEdit כיתה (QtGui.QDialog, MapperMixin):
& Nbsp; ... def __init __ (עצמי, הורה, אדם):
& Nbsp; ... QtGui.QDialog .__ init __ (עצמי, הורה)
& Nbsp; ... MapperMixin .__ init __ (עצמי)
& Nbsp; ...
& Nbsp; ... self.person = אדם
& Nbsp; ...
& Nbsp; ... Vbox = QtGui.QVBoxLayout (עצמי)
& Nbsp; ... מ"מ = self.mapClass (אדם)
& 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 (אין, סם)
& Nbsp; >>> d.exec_ () אינטראקציה # GUI - #doctest: + SKIP
& Nbsp; 0
& Nbsp; >>> # sam.age מניח בחירה של אתמול בGUI - #doctest: + SKIP
& Nbsp; 1
פיתוח
QtAlchemy הוא עדיין בפיתוח ליבה כבד ככל לוח הזמנים של העבודה שלי מאפשר. התיעוד גדל כרעיונות בשר החוצה ואני לומד ספינקס עבור דור התיעוד הכללי. אנו שואפים לכיסוי doc מבחן מלא ככל האפשר, אבל PyQt מודל-תצוגה וGUI להטיל סיבוכים מסוימים על-דוקטורט בדיקות.
הציפיות שלי ל-0.7 ימשיכו לעלות ולכן נתתי לשחרור 0.6.10 תחת השם החדש של qtalchemy. זה מגיע יחד עם דף http://qtalchemy.org מותג חדש (ולא ממש סיים) אינטרנט. לפני שחרור 0.7, אני שואף להיות:
- בחירת InputYoke מסמך
- PBMdiTable ומהלך PBSearchDialog לqtalchemy.ext

מה חדש בהודעה זו:

  • Python תמיכה 3! אין 2to3 או מכשלות אחרות.
  • תיקוני תאימות 0.9x SQLAlchemy

מה חדש בגרסה 0.8.0:

  • שינוי לPySide כברירת מחדל יבוא
  • תירגע רישיון GPL לLGPL
  • לשפר את שינוי עול הטיפול
  • צור PopupKeyListing החדש לכניסת מפתח זרה

מה חדש בגרסת 0.7.1:

  • QueryDataView צבר יכולת בסיסית requery על קליקים כותרת עמודה למיון

  • תיקונים
  • כמה doc
  • משפחת פונקצית עוזר חדשה לשימוש בג'רלדו בqtalchemy.ext.reporttools

מה חדש בגרסת 0.7.0:

  • טיפול בשגיאות למעט שיפור ודיווח ליישומי GUI עם קונסולת אאוט פרטית
  • עול חדש תומך תיבה משולבת
  • לשפר את תיעוד עול
  • להוסיף דוגמאות מלאים לחזית תיעוד
  • מודל שונים / שיפורי רשימה כולל רוחב עמודת חדלות פירעון

מה חדש בגרסת 0.6.12:

    • יש BoundCommandMenu חריצים שנשלח מhtml ישות מחייבת פקודות ל- HTML צפייה צורות
    • עומס ומובנה להציל הארכת המסגרת בBoundDialog
    • TreeView החדש חושף QTreeView
    • תמיכת מודל העץ בPBTableModel
    • שיפור ניידות PySide וקבוע התרסקות באגים שונים הקשורים של

    מה חדש בגרסה 0.6.11:

      טיפים
    • עזרה בהקשר ובמעמד רגישה לשדות

    • אותות
    • preCommand החדש / רענון עם מבנה CommandEvent מאפשרים להפיל על ידי מסך הסביבה
    • שיפורים באשף יבוא נתונים גנרי
    • שיפורי שולחן תצוגה (תיקוני באגים, עדכוני מודל מתוקנים לייתר דיוק)
    • pywin32 השימוש ShellExecute במקום os.system לתמיכת חלונות טוב יותר

    מה חדש בגרסה 0.6.10:

    • שונה ל qtalchemy
    • חשוף העמותה של Qt של סמלים עם פקודות המופיעות בתפריטים וסרגלי כלים
    • עבר qtalchemy.PBTable לqtalchemy.widgets.TableView
    • מודול החדש qtalchemy.ext לדיאלוגים נפוצים (אשף יבוא נתונים לעת עתה)

    דרישות :

    • Python

  • תוכנה דומה

    ceODBC
    ceODBC

    11 May 15

    DbNinja
    DbNinja

    17 Feb 15

    JasperETL
    JasperETL

    3 Jun 15

    תוכנות אחרות של יזם Joel B. Mohler

    PyHacc
    PyHacc

    14 Apr 15

    תגובות ל QtAlchemy

    תגובות לא נמצא
    להוסיף הערה
    הפעל את התמונות!