QMainWindow, QWidget และ QDialog แตกต่างกันอย่างไร
QMainWindow, QWidget และ QDialog แตกต่างกันอย่างไร
คำตอบ:
A QWidget
เป็นคลาสพื้นฐานสำหรับคลาสที่วาดได้ทั้งหมดใน Qt QWidget
คลาสฐานใด ๆสามารถแสดงเป็นหน้าต่างโดยแสดงเมื่อไม่มีพาเรนต์
A QDialog
ขึ้นอยู่กับQWidget
แต่ได้รับการออกแบบให้แสดงเป็นหน้าต่าง จะปรากฏในหน้าต่างเสมอและมีฟังก์ชั่นเพื่อให้ทำงานได้ดีกับปุ่มทั่วไปในกล่องโต้ตอบ (ยอมรับปฏิเสธ ฯลฯ )
QMainWindow
ได้รับการออกแบบตามความต้องการทั่วไปสำหรับหน้าต่างหลักที่จะมี มีตำแหน่งที่กำหนดไว้ล่วงหน้าสำหรับแถบเมนูแถบสถานะแถบเครื่องมือและวิดเจ็ตอื่น ๆ ไม่มีค่าเผื่อในตัวสำหรับปุ่มต่างๆเช่นQDialog
ไม่
QMainWindow
แทนคลาสพื้นฐานQWidget
คือQMainWindow
มีQDockWidget
การสนับสนุนในขณะที่QWidget
เพียงอย่างเดียวไม่มี
QWidget : เป็นคลาสพื้นฐานสำหรับองค์ประกอบ GUI อื่น ๆ ทั้งหมดในโมดูล QtWidgets สามารถประกอบเป็นหน้าต่างได้ด้วยตัวเองหรือเป็นส่วนหนึ่งของ QLayout หรือเป็นเพียงสมาชิกของลำดับชั้นแม่ลูก
QDialog : มักใช้เพื่อ - เซอร์ไพรส์! - แสดงกล่องโต้ตอบชั่วคราวเมื่อจำเป็นต้องป้อนข้อมูลของผู้ใช้
QMainWindow : เป็นคลาสอำนวยความสะดวกที่สามารถใช้เป็นหน้าต่างหลักของแอปพลิเคชันของคุณ มีคุณสมบัติที่ดีบางอย่างในตัว: แถบสถานะแถบเครื่องมือและแถบเมนู