มีวิธีการเพิ่มป้ายกำกับ "ผู้ใช้ปัจจุบัน" ไปยังผู้แต่งงานพิมพ์หรือไม่?


11

มีวิธีเพิ่มฉลากผู้ใช้ปัจจุบันให้กับผู้แต่งงานพิมพ์ใน QGIS หรือไม่

ฉันคิดว่าอาจมีบางอย่างที่คล้ายกับรูปแบบ $ CURRENT_DATE

นี่จะเป็นในสภาพแวดล้อมของ windows


1
"$ CURRENT_DATE (yyyy-MM-dd)" กลายเป็นสิ่งที่มีประโยชน์มากและฉันได้รวมมันไว้ในเทมเพลตผู้แต่งหลายคนของฉัน มีคำสั่งเหล่านี้เพิ่มเติมอีกหรือไม่ หากต้องการแสดงชื่อโครงการของฉันโดยอัตโนมัติหรือชื่อเลเยอร์บางอย่าง ฯลฯ
SAnderka

คำตอบ:


8

ขณะนี้นี่เป็นคำขอคุณสมบัติที่ไม่ได้ผล (ดูที่คุณสมบัติ # 1385 )

คุณสามารถเพิ่มแนวคิดของคุณสำหรับ 'โทเค็นใหม่' (หรือ 'ฟิลด์' ตามที่ได้รับการกำหนดชื่อไว้ในคำขอ) จำไว้ว่าให้รวมตัวเลือกแนะนำการจัดรูปแบบตามชั้นเรียน Qt สำหรับชนิดข้อมูลเช่นได้รับการทำกับไวยากรณ์ของ$CURRENT_DATE(yyyy-MM-dd)ซึ่งได้รับการแก้ไขโดยใช้QDate::currentDate().toString( formatText )และสตริงระดับ QDate การจัดรูปแบบ


อย่างไรก็ตามมีวิธีแก้ปัญหาที่ดีกว่าการพยายามใช้โทเค็นทุกประเภทที่ผู้ใช้อาจต้องการหรือร้องขอ (ซึ่งอาจเป็นรายการที่ขยายทุกครั้ง)

ขณะนี้มีอย่างน้อยสองวิธีในการใช้โซลูชันที่มีประสิทธิภาพมากขึ้น:

A) ข้อความเลเบลสร้างขึ้นโดยใช้ QGIS Expression Editor

ปัจจุบันนี้เป็นวิธีที่ใช้ในเอ็นจิ้นการติดฉลากขั้นสูง ...

ป้อนคำอธิบายรูปภาพที่นี่

เนื่องจากป้ายกำกับนักแต่งเพลงไม่สัมพันธ์กับแหล่งข้อมูลของเลเยอร์แผนที่ส่วนของFields and Valuesจะต้องถูกแทนที่และบรรจุด้วยโทเค็นการพิมพ์ที่เหมาะสมกว่าเช่นชื่อโครงการชื่อฉายภาพผู้ใช้ ฯลฯ (ฟังก์ชั่นวันที่มีอยู่แล้วในต้นแบบ สร้างสาขา) โชคดีที่มีนักพัฒนาทำงานเพื่อให้ง่ายในการเพิ่มส่วนนิพจน์ใหม่แม้ว่ามันจะยังคงใช้งานได้อยู่บ้าง จะต้องมีการทำงานเพิ่มเติมเพื่อรองรับโทเค็นใหม่

B) ข้อความเลเบล (หรือโทเค็น) เป็นตัวเลือกผลลัพธ์ของ Python snippet

แม้ว่าจะไม่เป็นมิตรกับผู้ใช้เช่นเดียวกับโซลูชัน Expression Editor เนื่องจากต้องการความเข้าใจใน Python การใช้งานคุณลักษณะดังกล่าวอาจต้องใช้ความพยายามในการพัฒนาเพียงครั้งเดียวเท่านั้น จากนั้นมุมมองที่เป็นข้อความใด ๆ ของโครงการ QGIS รวมถึงรายการนักแต่งเพลงที่หลากหลายผ่านทาง PyQGIS API (เช่น Python Console) สามารถเข้าถึงจัดรูปแบบและส่งออกไปยังข้อความ

ตัวอย่างงูหลามสามารถห่อด้วยโทเค็นเดี่ยวและฝังไว้ในข้อความปัจจุบันของกล่องแก้ไขข้อความหรือมีอยู่ในกล่องแก้ไขข้อความแยกต่างหากใน GUI เปิดใช้งานโดยกล่องกาเครื่องหมาย เพื่อเหตุผลด้านความปลอดภัยรหัสอาจจะไม่ทำงานอัตโนมัติในการเปิดตัวนักแต่งเพลง (อาจเป็นตัวเลือกให้อนุญาตได้ตลอดเวลา)

วิธีการแก้ไขข้อความแยกกล่องจะช่วยให้การตรวจสอบรหัสงูหลามและคีย์ของฟังก์ชั่นชื่องูใหญ่เช่นตัวอย่างต่อไปนี้:

import getpass
from qgis.core import *

def pytoken_user():
    return getpass.getuser()

def pytoken_title():
    return QgsProject.instance().title()

จะเข้ามาแทนที่หมายเลขใด ๆ ของในข้อความราชสกุลชื่อหรือ$pytoken_user$pytoken_title


ทั้งสองวิธีดังกล่าวมีความสามารถในการขยายได้มากกว่าการใช้โทเค็นแบบอินไลน์ในซอร์สโค้ด QGIS อาจมีวิธีอื่นหรือดีกว่าเช่นกัน

ดร. Hugentobler ได้รับเมื่อเร็ว ๆ นี้อีกครั้งการทำงานแต่งเพลงพิมพ์ในสาขาหลักของ QGIS ดังนั้นตอนนี้เป็นเวลาที่เหมาะที่จะขอคุณสมบัติการติดฉลากดังกล่าวสำหรับรุ่นถัดไปของ QGIS ฉันจะเพิ่มคำขอคุณลักษณะสำหรับ ASAP ทั้งสองนี้


ดูที่เกี่ยวข้องร้องขอคุณสมบัติที่ hub.qgis.org
dakcarto

วิธีแก้ปัญหาอย่างใดอย่างหนึ่งเหล่านี้ทำให้เป็น QGIS รุ่นวางจำหน่ายหรือไม่ หรือนี่ยังอยู่ระหว่างการพัฒนา? ขอบคุณ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.