QtAlchemy

Phần mềm chụp màn hình:
QtAlchemy
Các chi tiết về phần mềm:
Phiên bản: 0.8.3
Ngày tải lên: 20 Feb 15
Nhà phát triển: Joel B. Mohler
Giấy phép: Miễn phí
Phổ biến: 150

Rating: 2.0/5 (Total Votes: 1)

QtAlchemy là một bộ sưu tập của Qt Model-View lớp và các hàm trợ giúp để hỗ trợ trong việc phát triển nhanh chóng của các ứng dụng cơ sở dữ liệu máy tính để bàn & nbsp;. Nó nhằm mục đích cung cấp một API mạnh mẽ để lộ mối quan hệ khoá ngoại trong cách thanh lịch và ngay lập tức cho người sử dụng các ứng dụng . Những menu, tìm kiếm và combo-box và các giao diện theo thẻ đều được sử dụng. Việc sử dụng SQLAlchemy làm cho nó có thể là những tính năng được hỗ trợ trên một loạt các phần phụ trợ cơ sở dữ liệu với hầu như không có thay đổi mã.
Lớp chỉ huy cho một cách để xây dựng các menu và thanh công cụ từ chức năng python trang trí. Sức mạnh của điều này trở nên rõ ràng hơn khi kết hợp với một điểm nơi mà các chức năng lệnh sau đó có thể nhận được các định danh của mục đã chọn chế độ xem. Điều này cung cấp một cách linh hoạt để liên kết các lệnh đến bất kỳ điểm truy vấn SQLAlchemy tạo ra.
Đầy đủ tài liệu có sẵn tại http://qtalchemy.org.
QtAlchemy đã được phát triển với python 2.6.x, 0.6.x và SQLAlchemy PyQt 4.7.x. Hy vọng rằng nó sẽ là chức năng trên tất cả các phiên bản gần đó. Có một nỗ lực được thực hiện để đảm bảo rằng tính năng tính chẵn lẻ được đạt cho Windows và Linux (và mac quá, nhưng tôi không có một).
QtAlchemy được dự kiến ​​làm việc đầy đủ với PySide như các phiên bản 1.0.4. Hỗ trợ PySide có thể được kích hoạt bằng cách chạy các script shell use_pyside.sh mà chỉ đơn thuần là thay đổi nhập khẩu từ PyQt4 để PySide.
Ví dụ
Vì lợi ích của việc súc tích, ví dụ đưa ra ở đây không tham khảo một cơ sở dữ liệu.
QtAlchemy sử dụng API2 của PyQt vì vậy chúng tôi cần phải kích hoạt trước khi nhập khẩu PyQt4
& Nbsp; >>> nhập sip
& Nbsp; >>> sip.setapi ('QString', 2)
& Nbsp; >>> sip.setapi ('QVariant', 2)
Lớp tài sản UserAttr còn cung cấp một loại tài sản được xác định python. Mục đích của việc tái phát minh này là để đảm bảo rằng chúng tôi có thể tương tác với các mô hình của chúng tôi đầy đủ và cung cấp một trải nghiệm thống nhất cho các thuộc tính cột SQLAlchemy và tính UserAttr.
& Nbsp; >>> từ qtalchemy nhập UserAttr
& Nbsp; >>> nhập datetime
& Nbsp; >>> class Person (object):
& Nbsp; ... name = UserAttr (str, "Name")
& Nbsp; ... birth_date = UserAttr (datetime.date, "Birth Date")
& Nbsp; ... tuổi = UserAttr (int, "Tuổi (ngày)", readonly = True)
& Nbsp; ...
& Nbsp; ... @ age.on_get
& Nbsp; ... def age_getter (tự):
& Nbsp; ... return (datetime.date.today () - self.birth_date) .days
Với tuyên bố này, chúng ta có thể tuyên bố một người và tính toán tuổi của họ:
& Nbsp; >>> me = Person ()
& Nbsp; >>> me.name = "Joel"
& Nbsp; >>> me.birth_date = datetime.date (1979,1,9)
& Nbsp; >>> #depends me.age vào ngày hôm nay! - #doctest: + SKIP
& Nbsp; 11746
& Nbsp; >>> me.age- (datetime.date.today () - datetime.date (2011,1,9)) ngày # vào ngày sinh nhật 1> từ PyQt4 nhập QtCore, QtGui.
& Nbsp; >>> từ qtalchemy nhập MapperMixin, LayoutLayout, ButtonBoxButton, LayoutWidget
& Nbsp; >>>
& Nbsp; >>> class PersonEdit (QtGui.QDialog, MapperMixin):
& Nbsp; ... def __init __ (self, cha mẹ, người):
& Nbsp; ... QtGui.QDialog .__ init __ (self, mẹ)
& Nbsp; ... MapperMixin .__ init __ (self)
& Nbsp; ...
& Nbsp; ... self.person = person
& Nbsp; ...
& Nbsp; ... vbox = QtGui.QVBoxLayout (tự)
& Nbsp; ... mm = self.mapClass (Person)
& Nbsp; ... mm.addBoundForm (vbox, ["name", "birth_date"])
& Nbsp; ... mm.connect_instance (self.person)
& Nbsp; ...
& Nbsp; ... nút = LayoutWidget (vbox, QtGui.QDialogButtonBox ())
& Nbsp; ... self.close_button = ButtonBoxButton (nút, QtGui.QDialogButtonBox.Ok)
& Nbsp; ... buttons.accepted.connect (self.btnClose)
& Nbsp; ...
& Nbsp; ... def btnClose (tự):
& Nbsp; ... self.submit () # thay đổi xuống để mô hình tập trung vào thay đổi; bảo đảm nhận trọng tâm hiện nay
& Nbsp; ... self.close ()
Và, bây giờ, chúng tôi chỉ cần một số mã ứng dụng để thực sự đá này off
& Nbsp; >>> app = QtGui.QApplication ([])
& Nbsp; >>> sam = Person ()
& Nbsp; >>> sam.name = "Samuel"
& Nbsp; >>> d = PersonEdit (None, sam)
& Nbsp; >>> d.exec_ () # gui tương tác - #doctest: + SKIP
& Nbsp; 0
& Nbsp; >>> sam.age # giả lựa chọn của ngày hôm qua trong gui - #doctest: + SKIP
& Nbsp; 1
Phát triển
QtAlchemy vẫn còn trong phát triển cốt lõi nặng nhiều như lịch làm việc của tôi cho phép. Các tài liệu được phát triển như các ý tưởng được gọt giũa ra và tôi học sư cho các thế hệ tài liệu chung. Chúng tôi phấn đấu cho bảo hiểm doc-thử nghiệm đầy đủ nhất có thể, nhưng PyQt model-view và gui áp đặt các biến chứng nhất định trên doc-kiểm tra.
Mong đợi của tôi cho 0.7 tiếp tục tăng nên tôi đã cho trong một thông cáo 0.6.10 dưới tên mới của qtalchemy. Này đi kèm với một thương hiệu mới (và không thực sự thành) trang web http://qtalchemy.org. Trước khi phát hành 0,7, tôi nhắm đến có:
- Tài liệu InputYoke lựa chọn
- PBMdiTable và PBSearchDialog di chuyển để qtalchemy.ext

là gì mới trong phiên bản này:

  • hỗ trợ Python 3! Không 2to3 hoặc gotchas khác.
  • sửa lỗi tương thích SQLAlchemy 0.9x

là gì mới trong phiên bản 0.8.0:

  • Thay đổi để PySide như nhập khẩu mặc định
  • Relax giấy phép từ GPL để LGPL
  • Cải thiện thay đổi ách xử lý
  • Tạo PopupKeyListing mới cho nhập cảnh nước ngoài chính

là gì mới trong phiên bản 0.7.1:

  • QueryDataView tăng khả năng cơ bản để requery trên cột nhấp chuột tiêu đề để phân loại

  • Sửa
  • một vài doc
  • helper mới chức năng gia đình để sử dụng trong Geraldo qtalchemy.ext.reporttools

là gì mới trong phiên bản 0.7.0:

  • cải thiện xử lý lỗi ngoại lệ và báo cáo cho các giao diện ứng dụng với console out
  • ách mới hỗ trợ một combo box
  • cải thiện tài liệu ách
  • thêm ví dụ hoàn chỉnh để phía trước của tài liệu
  • mô hình khác nhau / cải tiến danh sách bao gồm cả chiều rộng cột mặc định

được gì mới trong phiên bản 0.6.12:

  • BoundCommandMenu đã slot để có thể gửi đi từ html thực thể liên kết lệnh để xem các hình thức html
  • load cấu trúc và lưu mở rộng khuôn khổ trong BoundDialog
  • TreeView mới lộ QTreeView
  • mô hình cây hỗ trợ trong PBTableModel
  • cải thiện tính di động và cố định PySide khác nhau va chạm lỗi liên quan đến rằng

là gì mới trong phiên bản 0.6.11:

  • bối cảnh giúp đỡ nhạy cảm và tình trạng lời khuyên cho các lĩnh vực

  • Tín hiệu
  • preCommand mới / làm mới với cấu trúc CommandEvent cho phép hủy bỏ bởi các môi trường xung quanh màn hình
  • cải tiến trong chương trình nhập dữ liệu chung
  • xem bảng cải tiến (sửa lỗi, cập nhật mô hình điều chỉnh được chính xác hơn)
  • sử dụng PyWin32 ShellExecute thay vì os.system cho cửa sổ hỗ trợ tốt hơn

là gì mới trong phiên bản 0.6.10:

  • đổi tên thành qtalchemy
  • tiếp xúc với hiệp hội Qt của các biểu tượng có lệnh xuất hiện trong các menu và thanh công cụ
  • chuyển qtalchemy.PBTable để qtalchemy.widgets.TableView
  • module qtalchemy.ext mới cho hộp thoại thông thường (một thuật sĩ nhập dữ liệu cho doanh nghiệp)

Yêu cầu :

  • Python

Phần mềm tương tự

eBag
eBag

19 Feb 15

phpMyAdmin
phpMyAdmin

22 Jun 18

Yoyo-migrations
Yoyo-migrations

14 Apr 15

Phần mềm khác của nhà phát triển Joel B. Mohler

PyHacc
PyHacc

14 Apr 15

Ý kiến ​​để QtAlchemy

Bình luận không
Nhập bình luận
Bật hình ảnh!