2013-04-16 94 views
9

Tôi đang cố gắng viết một widget tùy chỉnh cho Nhà thiết kế Qt chỉ sử dụng Python. Tôi đã làm theo một vài hướng dẫn tôi tìm thấy trực tuyến nhưng không ai trong số họ đã làm việc hoặc bất cứ điều gì gần với những gì tôi sẽ gọi là một ví dụ làm việc tối thiểu.Tiện ích Qt tùy chỉnh với python cho Qt Designer

Vì vậy, câu hỏi của tôi là:

  1. Các bước tham gia để tạo ra một widget tùy chỉnh xuất hiện trong các Widget Hộp Qt Designer?
  2. Nếu bạn có thể dành thời gian: Vui lòng cung cấp ví dụ hoạt động tối thiểu (như một tiện ích có nhãn trong đó nói "Ví dụ về tiện ích tùy chỉnh Qt thực sự tối thiểu").
  3. Hoặc có thể hoàn toàn không thể bao gồm tiện ích tùy chỉnh chỉ sử dụng python?

Trả lời

1

tôi tìm thấy bài viết này để có câu trả lời của bạn: https://doc.qt.io/archives/qq/qq26-pyqtdesigner.html

Nhưng, tôi đã không thể cài đặt nó trong Qt Designer mặc dù: D

+1

Đẹp, tôi hiện đang làm việc với Qt nữa. Nhưng điều này chắc chắn trả lời câu hỏi của tôi! Thx cho trả lời muộn này! – Woltan

+0

Tuyệt vời! Chỉ có thể cài đặt nó trong Qt Designer: chỉ cần đảm bảo thêm đường dẫn của bạn vào widget tùy chỉnh vào các biến môi trường PYTHONPATH và PYQTDESIGNERPATH. Và, tôi nghĩ chúng ta phải sử dụng thiết kế Qt do PyQt cung cấp. Tôi thử nghiệm nó với Qt Designer từ phân phối Qt C++, và nó sẽ không hiển thị widget tùy chỉnh của tôi qt python. – swdev

+0

Liên kết của bạn bị hỏng, minh họa tại sao bạn nên luôn tóm tắt nội dung của liên kết và chỉ bao gồm nội dung đó để tham khảo. – MattDMo

3

Có rất ít ví dụ về cách tạo tiện ích tùy chỉnh trong pyqt. Tôi viết bài này với một ví dụ làm việc: Making a Custom Widget in PyQt

+0

Cảm ơn bạn đã đăng bài này, nhưng tiếc là điều này không ** không ** trả lời câu hỏi của tôi. Tôi là sau khi một widget tùy chỉnh được hiển thị trong chính nhà thiết kế mà không cần phải thêm nó "bằng tay" trong một số mã. – Woltan

+0

bạn có thể xây dựng cùng với một ví dụ, trong câu hỏi bạn đã nói "cách tạo widget tùy chỉnh xuất hiện trong hộp tiện ích khác", và đó là bài viết tôi viết cho bạn trên blog của tôi, hãy giải thích vấn đề của bạn bằng ví dụ , sẽ cố gắng giúp bạn. – scottydelta

+0

Tôi đang nói về Hộp Tiện ích của Nhà thiết kế Qt ([link] (http://doc.crossplatform.ru/qt/4.3.2/images/designer-widget-box.png)). Hộp tiện ích liệt kê tất cả các tiện ích phổ biến như nút, danh sách, v.v. Tôi muốn tiện ích tùy chỉnh của mình được hiển thị trong hộp đó để tôi có thể thêm và làm việc với tiện ích tùy chỉnh của mình trong Nhà thiết kế Qt. – Woltan

1

Đây là câu trả lời cho câu hỏi của bạn # 3: How do I use promote to in Qt Designer in pyqt4?

Tôi đang sử dụng PySide và nó hoạt động theo cùng một cách. Phương thức này hoạt động trực tiếp với mã widget tùy chỉnh Python của bạn. Bạn không cần phải viết bất kỳ mã plugin riêng biệt nào.

Sau khi bạn đã đề bạt widget tùy chỉnh, bạn có thể nhấp chuột phải vào nó và thêm tín hiệu của bạn với "Thay đổi tín hiệu/khe ..."

tôi sẽ khuyên bạn nên đặt tất cả các bạn widget trong một file YourCostumWidgetsPack.UI, và sau đó khi bạn tải tệp này trong Qt Designer, ngoài giao diện người dùng bạn đang làm việc. Nó sẽ tải tất cả các thông tin widget tùy chỉnh của bạn.