FormListAerodroms::FormListAerodroms(QWidget *parent) : QWidget(parent), ui(new Ui::FormListAerodroms) { ui->setupUi(this); setWindowFlags(Qt::Tool | Qt::WindowTitleHint | Qt::WindowStaysOnTopHint |Qt::WindowCloseButtonHint); QHeaderView *qhv=ui->tableWidget->horizontalHeader(); qhv->setSectionResizeMode(QHeaderView::ResizeToContents); domAerodroms.clear(); openXML(tr("./xml/")+XML_AERODROMS); }
// 导入场景 bool XMLSceneSerializer::importScene(DataStreamPtr& stream, IScene* scene) { m_scene = scene; // 打开XML文件 if(!openXML(stream)) return false; // 遍历所有Scene for (TiXmlElement* element = m_xmlDoc->RootElement()->FirstChildElement("Scene"); element != 0; element = element->NextSiblingElement("Scene")) { readScene(element); } return true; }
StegoFrame::StegoFrame(QWidget* parent) : QMainWindow(parent) { QSplitter *central = new QSplitter(Qt::Vertical); QScrollArea *hscroll = new QScrollArea(); QScrollArea *pscroll = new QScrollArea(); QDomElement stegoDom; model = new StegoModel(); model->addView(this); hw = new HistogramWidget(this, model); pw = new PairWidget(this, model); fdock = new FeatureDock(this, model); cdock = new ConfigDock(hw, pw, this); // gdock = new GraphDock(this); // tdock = new TableDock(this, model); ldial = new LoadDialog(this); hscroll->setWidgetResizable(1); hscroll->setAlignment(Qt::AlignLeft); // hscroll->setBackgroundRole(QPalette::Dark); hscroll->setWidget(hw); pscroll->setWidgetResizable(1); pscroll->setAlignment(Qt::AlignLeft); // pscroll->setBackgroundRole(QPalette::Dark); pscroll->setWidget(pw); central->addWidget(hscroll); central->addWidget(pscroll); // scroll1->setWidget(central); // central->show(); setCentralWidget(central); addDockWidget(Qt::LeftDockWidgetArea, fdock); addDockWidget(Qt::BottomDockWidgetArea, cdock); // addDockWidget(Qt::BottomDockWidgetArea, gdock); // addDockWidget(Qt::BottomDockWidgetArea, tdock); openFeaturesAction = new QAction(tr("Open"), this); loadFeaturesAction = new QAction(tr("Load"), this); openDocAction = new QAction(tr("Open"), this); saveDocAction = new QAction(tr("Save"), this); mmdAction = new QAction(tr("MMDs"), this); svmAction = new QAction(tr("SVM classification"), this); muAction = new QAction(tr("Mus"), this); fdial = new QFileDialog(this); fdial->setFileMode(QFileDialog::ExistingFiles); fdial->setNameFilter(tr("Features (*.fv)")); fdial->setAcceptMode(QFileDialog::AcceptOpen); fdial->setDirectory(tr(".")); docMenu = menuBar()->addMenu(tr("Document")); fileMenu = menuBar()->addMenu(tr("Features")); calcMenu = menuBar()->addMenu(tr("Calculate")); fileMenu->addAction(openFeaturesAction); fileMenu->addAction(loadFeaturesAction); docMenu->addAction(openDocAction); docMenu->addAction(saveDocAction); calcMenu->addAction(muAction); calcMenu->addAction(mmdAction); calcMenu->addAction(svmAction); progress = new QProgressBar(statusBar()); statusLabel = new QLabel(tr("Ready.")); statusBar()->addPermanentWidget(statusLabel, 9); statusBar()->addPermanentWidget(progress, 1); connect(openFeaturesAction, SIGNAL(triggered(bool)), this, SLOT(openCollection())); connect(loadFeaturesAction, SIGNAL(triggered(bool)), ldial, SLOT(open())); connect(saveDocAction, SIGNAL(triggered(bool)), this, SLOT(saveXML())); connect(mmdAction, SIGNAL(triggered(bool)), this, SLOT(calcMMDs())); connect(svmAction, SIGNAL(triggered(bool)), this, SLOT(classify())); connect(muAction, SIGNAL(triggered(bool)), this, SLOT(calcMus())); connect(ldial, SIGNAL(accepted()), this, SLOT(loadFeatures())); document = new QDomDocument(); xmlFile = new QFile("stegodoc.xml"); if (xmlFile->exists()) { openXML(); // if (document->firstChildElement().tagName() != QString("stegosaurus")) // printf("lol \n"); sets = document->firstChildElement().firstChildElement(QString("sets")); if (sets.isNull()) { sets = document->createElement(QString("sets")); stegoDom.appendChild(sets); } mmds = document->firstChildElement().firstChildElement(QString("mmds")); if (sets.isNull()) { sets = document->createElement(QString("mmds")); stegoDom.appendChild(sets); } } else { stegoDom = document->createElement(QString("stegosaurus")); sets = document->createElement(QString("sets")); stegoDom.appendChild(sets); document->appendChild(stegoDom); } setMinimumSize(1280, 720); setWindowTitle("Stegosaurus"); }