Cách hiển thị bảng điều khiển Python khi bắt đầu chương trình QGIS


10

Tôi tự hỏi nếu có một cách để mở giao diện điều khiển Python trực tiếp khi khởi chạy chương trình. Có khả năng đặt lối tắt cho bảng điều khiển Python, nhưng tôi không thể tìm thấy tùy chọn như vậy để khởi chạy chương trình QGIS.


Có một cách để viết một tệp được thực thi khi QGIS khởi động, có thể hữu ích cho các cài đặt tùy chỉnh như thế này. Câu hỏi là liệu bạn có thể mở giao diện điều khiển chương trình hay không. Bạn có biết nếu bạn có thể làm điều đó?
BritishSteel 2/2/2015

Tôi đã tìm kiếm trong API nhưng lớp duy nhất có liên quan đến python là QssPythonRunner, không phải là bàn điều khiển.
Martin

Câu trả lời:


12

Sử dụng macro

Bạn có thể khởi động bảng điều khiển Python của Python khi mở một dự án bằng cách viết một vài dòng trong QGIS->Project->Project Properties:

def openProject():
    import qgis     
    qgis.utils.iface.actionShowPythonDialog().trigger()

Hãy chắc chắn rằng bạn bật macro trên dự án của bạn, theo cách này: Settings->Options->General->Enable macros: Always


Sử dụng startup.py

Khi bạn muốn bảng điều khiển Python của QGIS mở khi khởi chạy QGIS , bạn có thể tạo (nếu nó chưa tồn tại) một startup.pytệp trong %APPDATA%\QGIS\QGIS3\và ghi:

import qgis     
qgis.utils.iface.actionShowPythonDialog().trigger()

EDIT (để giải quyết câu hỏi tiếp theo của @Miro)

Như Miro đã chỉ ra, nếu Bảng điều khiển Python của QGIS mở, qgis.utils.iface.actionShowPythonDialog().trigger()sẽ đóng nó, vì vậy, nếu chúng tôi đang viết một plugin QGIS, có thể có ý nghĩa để biết liệu Bảng điều khiển Python có mở (hiển thị) hay không.

Bạn có thể biết nếu Bảng điều khiển Python không hiển thị (và sau đó mở nó) bằng cách chạy mã này:

from qgis.PyQt.QtWidgets import QDockWidget
pythonConsole = iface.mainWindow().findChild(QDockWidget, 'PythonConsole')
if not pythonConsole or not pythonConsole.isVisible():
    from qgis.utils import iface
    iface.actionShowPythonDialog().trigger()

Có cách nào để kiểm tra xem console đã mở chưa? Bởi vì nếu đó là kích hoạt () sẽ đóng nó.
Miro

@Miro, có một cách! Tôi đã chỉnh sửa câu trả lời của mình bằng hướng dẫn.
Germán Carrillo

1
Trong 2.18, macro dự án hoạt động nhưng tập lệnh khởi động không mở được bàn điều khiển.
underdark
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.