mainwindow.cpp 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. #include "mainwindow.h"
  2. #include "ui_mainwindow.h"
  3. #include "ImageEdit.h"
  4. #include "WordEditt.h"
  5. #include "ImageLabel.h"
  6. #include "imagecropperdialog.h"
  7. #include "imagecropperdemo.h"
  8. #include "vmerge.h"
  9. #include "reporting.h"
  10. #include <QDesktopWidget>
  11. #include "hmerge.h"
  12. MainWindow::MainWindow(QWidget *parent)
  13. : QMainWindow(parent)
  14. , ui(new Ui::MainWindow)
  15. {
  16. setWindowState(Qt::WindowMaximized);
  17. // resize(300, 300);
  18. // int cx, cy;
  19. // //当parent为空时,窗口就显示在桌面中央
  20. // if( NULL == parent )
  21. // {
  22. // cx = (QApplication::desktop()->width() - width()) / 2;
  23. // cy = (QApplication::desktop()->height() - height()) / 2;
  24. // }
  25. // //否则,控件就显示在父部件中央
  26. // else
  27. // {
  28. // cx = ( parent->width() - width() ) / 2;
  29. // cy = ( parent->height() - height() ) / 2;
  30. // }
  31. // move(cx, cy);
  32. ui->setupUi(this);
  33. ui->tabWidget->setVisible(false);
  34. ui->tabWidget->clear();//清除所有页面
  35. ui->tabWidget->tabsClosable(); //Page有关闭按钮,可被关闭
  36. this->setCentralWidget(ui->tabWidget);
  37. // this->setWindowState(Qt::WindowMaximized); //窗口最大化显示
  38. this->setAutoFillBackground(true);
  39. // imageEdit=new ImageEdit(this);
  40. // imageEdit->move(250,250);
  41. }
  42. MainWindow::~MainWindow()
  43. {
  44. delete ui;
  45. }
  46. void MainWindow::on_imageMenu_triggered()
  47. {
  48. ImageEdit *imageEdit=new ImageEdit(this);
  49. imageEdit->setAttribute(Qt::WA_DeleteOnClose);
  50. int cur=ui->tabWidget->addTab(imageEdit,QString::asprintf("标注 %d",ui->tabWidget->count()));
  51. ui->tabWidget->setCurrentIndex(cur);
  52. ui->tabWidget->setVisible(true);
  53. }
  54. void MainWindow::on_wordMenu_triggered()
  55. {
  56. // WordEdit *wordEdit=new WordEdit(this);
  57. Reporting *wordEdit=new Reporting(this);
  58. wordEdit->setAttribute(Qt::WA_DeleteOnClose);
  59. int cur=ui->tabWidget->addTab(wordEdit,QString::asprintf("报告 %d",ui->tabWidget->count()));
  60. ui->tabWidget->setCurrentIndex(cur);
  61. ui->tabWidget->setVisible(true);
  62. }
  63. void MainWindow::on_tabWidget_tabCloseRequested(int index)
  64. {
  65. if (index<0)
  66. return;
  67. QWidget* aForm=ui->tabWidget->widget(index);
  68. aForm->close();
  69. }
  70. void MainWindow::on_tabWidget_currentChanged(int index)
  71. {
  72. bool en=ui->tabWidget->count()>0; //再无页面时,actions禁用
  73. ui->tabWidget->setVisible(en);
  74. }
  75. void MainWindow::on_imageCut_triggered()
  76. {
  77. ImageCropperDemo* dialog = new ImageCropperDemo(this);
  78. dialog->show();
  79. }
  80. void MainWindow::on_vMergerAction_triggered()
  81. {
  82. VMerge *vmerge=new VMerge(this);
  83. vmerge->setAttribute(Qt::WA_DeleteOnClose);
  84. int cur=ui->tabWidget->addTab(vmerge,QString::asprintf("纵向图片合并 %d",ui->tabWidget->count()));
  85. ui->tabWidget->setCurrentIndex(cur);
  86. ui->tabWidget->setVisible(true);
  87. }
  88. void MainWindow::on_hMergerAction_triggered()
  89. {
  90. HMerge *hmerge=new HMerge(this);
  91. hmerge->setAttribute(Qt::WA_DeleteOnClose);
  92. int cur=ui->tabWidget->addTab(hmerge,QString::asprintf("横向图片合并 %d",ui->tabWidget->count()));
  93. ui->tabWidget->setCurrentIndex(cur);
  94. ui->tabWidget->setVisible(true);
  95. }