qCTKDCMTKModelTest1.cxx 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #include <QApplication>
  2. #include <QDebug>
  3. #include <QFileInfo>
  4. #include <QTreeView>
  5. #include <QSqlQuery>
  6. #include "qCTKDCMTK.h"
  7. #include "qCTKDCMTKModel.h"
  8. #include <iostream>
  9. /* Test from build directory:
  10. ./CTK-build/bin/CTKDICOMCoreCxxTests qCTKDCMTKModelTest1 ../CTK/Libs/DICOM/Core/Resources/dicom-sample.sql
  11. */
  12. int qCTKDCMTKModelTest1( int argc, char * argv [] )
  13. {
  14. QApplication app(argc, argv);
  15. if (argc <= 1)
  16. {
  17. std::cerr << "Warning, no sql file given. Test stops" << std::endl;
  18. return EXIT_FAILURE;
  19. }
  20. qCTKDCMTK myCTK;
  21. myCTK.openDatabase( argv[1] );
  22. myCTK.initializeDatabase(argv[2]);
  23. /*
  24. QSqlQuery toto("SELECT PatientsName as 'Name tt' FROM Patients ORDER BY \"Name tt\" ASC", myCTK.database());
  25. qDebug() << "toto: " << myCTK.GetLastError() ;
  26. qDebug()<< toto.seek(0) << myCTK.GetLastError();
  27. qDebug() << toto.value(0).toString() << myCTK.GetLastError();
  28. QSqlQuery titi("SELECT StudyID as UID, StudyDescription as Name, ModalitiesInStudy as Scan, StudyDate as Date, AccessionNumber as Number, ReferringPhysician as Institution, ReferringPhysician as Referrer, PerformingPysiciansName as Performer FROM Studies WHERE PatientsUID='14'", myCTK.database());
  29. qDebug() << "titi: " << titi.seek(0) << myCTK.GetLastError();
  30. QSqlQuery tata("SELECT SeriesInstanceUID as UID, BodyPartExamined as Scan, SeriesDate as Date, AcquisitionNumber as Number FROM Series WHERE StudyInstanceUID='1.2.826.0.1.3680043.2.1125.1.73379483469717886505187028001198162'", myCTK.database());
  31. qDebug() << "tata: " << tata.seek(0) << myCTK.GetLastError();
  32. QSqlQuery tutu("SELECT Filename as UID, Filename as Name, SeriesInstanceUID as Date FROM Images WHERE SeriesInstanceUID='%1'", myCTK.database());
  33. qDebug() << "tutu: " << tutu.seek(0) << myCTK.GetLastError();
  34. */
  35. qCTKDCMTKModel model(0);
  36. model.setDatabase(myCTK.database());
  37. QTreeView viewer(0);
  38. viewer.setModel(&model);
  39. viewer.setSortingEnabled(true);
  40. model.rowCount();
  41. qDebug() << model.rowCount() << model.columnCount();
  42. qDebug() << model.index(0,0);
  43. viewer.show();
  44. //return app.exec();
  45. return EXIT_SUCCESS;
  46. }