สิ่งที่จะใช้กับ Qt สำหรับ windows อิสระ: QDialog, QWindow หรือ QMainWindow

ฉันกำลังก้าวแรกกับ Qt ในแบบฝึกหัด ฉันกำลังเขียน GUI สำหรับโปรเซสเซอร์แบบหลายคอร์ และแต่ละคอร์จะแสดงในหน้าต่างแยกต่างหาก จากหน้าต่างนี้ อาจมีสำเนาหลายชุด โดยมีชีวิตแยกกัน รวมถึงเมนู บรรทัดสถานะ ฯลฯ นั่นคือโดยพื้นฐานแล้วพวกมันเหมือนกับ QMainWindow แต่มี QMoreMainWindow :) อาจมีผลข้างเคียงหรือไม่หากฉันใช้ QMainWindow หลายครั้ง


person katang    schedule 18.02.2016    source แหล่งที่มา


คำตอบ (2)


ไม่มีอะไรขัดขวางไม่ให้คุณใช้สิ่งเหล่านี้เพื่อสิ่งใด พวกเขามีบทบาทและคุณสมบัติที่แตกต่างกัน:

  • QMainWindow เป็นเพียงหน้าต่างหลักเท่านั้น โดยมีแถบเครื่องมือ dockwidgets แถบเมนู แถบสถานะ และวิดเจ็ตส่วนกลาง หากคุณไม่ต้องการสิ่งเหล่านั้นทั้งหมด (ส่วนใหญ่) แสดงว่าคุณไม่ต้องการ QMainWindow อย่างชัดเจน
  • QWindow เป็นวัตถุเปล่าซึ่งมีประโยชน์หากคุณไม่ต้องการ /need QWidget ฟังก์ชั่นของ
  • QDialog มีไว้เพื่อใช้สำหรับหน้าต่างป๊อปอัป (เช่น "dialogs" ") เช่น กล่องข้อความหรือกล่องโต้ตอบเปิดไฟล์
  • QWidget เป็นองค์ประกอบหน้าต่างหรือหน้าต่างพื้นฐาน หากมีข้อสงสัยให้ใช้สิ่งนี้

เมื่ออ่านคำถามของคุณ ดูเหมือนว่าคุณต้องการให้แต่ละหน้าต่างเหล่านั้นเป็น QMainWindow โปรดทราบว่าฉันยังคงต้องการ QWidget แบบกำหนดเองที่มีเฉพาะส่วนที่ฉันต้องการหากฉันเป็นคุณ การเพิ่มแถบสถานะและเมนูไม่ใช่รหัสมากนัก

person rubenvb    schedule 18.02.2016

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

เมื่อหน้าต่างหลักของคุณมีชีวิตและเมนูที่แยกจากกัน บรรทัดสถานะ ฯลฯ สิ่งนี้จะมีความหมายมากยิ่งขึ้นสำหรับหน้าต่างหลักหลายบานที่อาจไม่มีการมอบหมายผู้ปกครองทั้งหมด

ใช่แล้ว แนวทางของคุณดูดีสำหรับฉันอย่างยิ่ง

person IceFire    schedule 18.02.2016