โครงการ GUI ของฉันในการQt
มีจำนวนมากของ "หน้าการตั้งค่า" QWidget
เรียนที่สืบทอดโดยตรงจากทั้งหมด
เมื่อเร็ว ๆ นี้ฉันตระหนักว่าคลาสเหล่านี้ทั้งหมดมีช่องคอมมอนส์ 2 ช่อง ( loadSettings()
และsaveSettings()
)
เกี่ยวกับเรื่องนี้ฉันมีสองคำถาม:
- มันสมเหตุสมผลหรือไม่ที่จะเขียนคลาสนามธรรมพื้นฐานระดับกลาง (ให้ตั้งชื่อ
BaseConfigurationPage
) ด้วยสองช่องนี้เป็นวิธีบริสุทธิ์เสมือนจริง (ทุกหน้าการกำหนดค่าที่เป็นไปได้จะมีสองวิธีนี้เสมอดังนั้นฉันจะตอบว่า "ใช่") - ก่อนที่ฉันจะทำการเปลี่ยนแปลงอย่างหนักในโค้ดของฉัน (ถ้าฉันต้อง): Qt รองรับสล็อตเพียวเสมือนจริงหรือไม่? มีอะไรที่ฉันควรระวังหรือไม่?
นี่คือตัวอย่างโค้ดที่อธิบายทุกอย่าง:
class BaseConfigurationPage : public QWidget
{
// Some constructor and other methods, irrelevant here.
public slots:
virtual void loadSettings() = 0;
virtual void saveSettings() = 0;
};
class GeneralConfigurationPage : public BaseConfigurationPage
{
// Some constructor and other methods, irrelevant here.
public slots:
void loadSettings();
void saveSettings();
};