#ifndef MAINWINDOW_H #define MAINWINDOW_H #include "myNodeVisitor.h" #include "MousePicker.h" #include #include #include struct Item { QString name; //符号名称 QString code; //符号代码 QString address; //符号所在的相对路径 bool operator < ( const Item& item) const { return this->name < item.name; } }; QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow(); private: void initOsg(); void addModel(QString filename); void updateModel(); void clearModel(); protected: void dragEnterEvent(QDragEnterEvent* event = NULL); void dropEvent(QDropEvent* event); private: Ui::MainWindow *ui; osgQOpenGLWidget* osgWidget = new osgQOpenGLWidget; osg::Group* root = new osg::Group; osg::Geode* drawNode = new osg::Geode; myNodeVisitor nv; QString filename; MousePicker* mp; }; std::string Utf8ToGbk(std::string str); #endif // MAINWINDOW_H