我有一个MyComboBox类,继承自QComboBox,以覆盖focusOutEvent方法:

  • mycombobox.h


  • mycombobox.cpp


  • 但是我不知道如何将comboBox声明为MyComboBox类的对象,并且在MainWindow构造函数上如何在MyComboBox和QComboBox之间具有不兼容的类型:
    MyComboBox* oMyComboBox;
    oMyComboBox = ui->comboBox;
    

    最佳答案

    您在UI上的实例必须具有MyComboBox类型。它取决于对象创建过程中的类型。例如,如果您做了类似的事情:

    QComboBox* comboBox; // This was declared on UI
    
    ui->comboBox = new MyComboBox();
    
    因此您可以将此实例与带有qobject_cast的MyComboBox一起使用:
    QComboBox *oMyComboBox = qobject_cast<MyComboBox *>(ui->comboBox);
    

    关于c++ - 如何在QT Creator上将QWidget声明为继承类的对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62753864/

    10-09 10:17