Score:0

เหตุการณ์การเปลี่ยนแปลงเจ้าของคลิปบอร์ด Gtk: การตรวจหาว่าผู้เปลี่ยนคือฉันหรือไม่

ธง cn
sil

มันง่ายที่จะตั้งค่าเนื้อหาของคลิปบอร์ด ctrl-C ctrl-V ปกติใน Gtk 3 ในแอพ Python 3 ด้วยบางอย่างเช่น

คลิปบอร์ด = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clipboard.set_text("ได้ผล!, -1)

นอกจากนี้ยังง่ายต่อการตรวจสอบคลิปบอร์ดสำหรับการเปลี่ยนแปลงโดยใช้วัตถุคลิปบอร์ด เจ้าของเปลี่ยน สัญญาณ.

อย่างไรก็ตามฉันขอเพิกเฉย เจ้าของเปลี่ยน ในแอปของฉันหากเป็นเช่นนั้น ของฉัน แอพนั้น ชุด เนื้อหาของคลิปบอร์ด และฉันไม่รู้ว่าต้องทำอย่างไร เดอะ เจ้าของเปลี่ยน สัญญาณผ่าน เจ้าของ พารามิเตอร์ที่ชี้ไปที่ Gdk.หน้าต่างแต่ฉันไม่เคยสร้างหน้าต่างในแอปของฉันอย่างชัดเจน ฉันคิดว่า Gtk สร้างอย่างเงียบ ๆ ให้ฉันเพราะต้องมีหน้าต่าง X อยู่รอบ ๆ เพื่อเป็นเจ้าของเนื้อหาของคลิปบอร์ด ฉันสามารถรับ ID ของหน้าต่าง X ได้เมื่อเจ้าของคลิปบอร์ดเปลี่ยนแปลงด้วยสิ่งต่อไปนี้:

def clipboardChanged (คลิปบอร์ด, Owner_change):
    พิมพ์ ("เจ้าของใหม่คือ", owner_change.owner.get_xid())

clipboard.connect('เปลี่ยนเจ้าของ', clipboardChanged)

เห็นได้ชัดว่าหน้าต่างเจ้าของใหม่นี้เป็นของแอปของฉัน แต่ฉันจะหา xid ก่อนเวลาได้อย่างไร นั่นคือ: ฉันจะบอกได้อย่างไรจาก เจ้าของเปลี่ยน ส่งสัญญาณว่าเจ้าของใหม่คือ ฉัน?

(หมายเหตุ: ถ้าฉันตั้งค่าเนื้อหาของคลิปบอร์ดสองครั้ง ฉันจะได้รับสองรายการ เจ้าของเปลี่ยน สัญญาณ และ Owner_change.reason เป็น NEW_OWNER ทุกครั้ง จึงไม่น่าเชื่อถือ โดยเฉพาะอย่างยิ่ง NEW_OWNER ถูกส่งสำหรับ "เจ้าของคนเดิมตั้งค่าอีกครั้ง" และไม่ใช่แค่สำหรับ "a แตกต่าง ตอนนี้เจ้าของเป็นเจ้าของคลิปบอร์ด")

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา