chengxr 1 год назад
Родитель
Сommit
35a7f72a8d
3 измененных файлов с 23 добавлено и 11 удалено
  1. 12 4
      QFD/view/ExpertManageView.cpp
  2. 1 0
      QFD/view/ExpertManageView.h
  3. 10 7
      QFD/widgets/ExpertInfoWidget.cpp

+ 12 - 4
QFD/view/ExpertManageView.cpp

@@ -28,9 +28,7 @@ void ExpertManageView::showEvent(QShowEvent *event)
 void ExpertManageView::hideEvent(QHideEvent *event)
 {
     QWidget::hideEvent(event);
-    if (m_expertInfoWidget && m_expertInfoWidget->isVisible()) {
-        m_expertInfoWidget->close();
-    }
+    hideExpertInfo();
 }
 
 void ExpertManageView::init()
@@ -108,9 +106,18 @@ void ExpertManageView::showExpertInfo(ExpertInfoWidget::Mode mode)
 
     if (m_expertInfoWidget->isVisible() == false) {
         m_expertInfoWidget->clearInputs();
-        m_expertInfoWidget->setMode(mode);
+
         m_expertInfoWidget->show();
     }
+
+    m_expertInfoWidget->setMode(mode);
+}
+
+void ExpertManageView::hideExpertInfo()
+{
+    if (m_expertInfoWidget && m_expertInfoWidget->isVisible()) {
+        m_expertInfoWidget->close();
+    }
 }
 
 void ExpertManageView::slotAddExpertClicked()
@@ -125,6 +132,7 @@ void ExpertManageView::slotDetailClicked()
 
 void ExpertManageView::slotDeleteClicked()
 {
+    hideExpertInfo();
     MessageBox *m = new MessageBox("删除专家信息", "删除后不可恢复,确认删除?", topLevelWidget());
     m->exec();
 }

+ 1 - 0
QFD/view/ExpertManageView.h

@@ -39,6 +39,7 @@ private:
     void setListButtonHidden(bool hidden);
 
     void showExpertInfo(ExpertInfoWidget::Mode mode = ExpertInfoWidget::Read);
+    void hideExpertInfo();
 
 private slots:
     void slotAddExpertClicked();

+ 10 - 7
QFD/widgets/ExpertInfoWidget.cpp

@@ -51,9 +51,15 @@ void ExpertInfoWidget::clearInputs()
 
 void ExpertInfoWidget::initWindow()
 {
-    setMaximumWidth(400);
+
     setWindowFlags(Qt::Window);
     setWindowFlag(Qt::WindowMinMaxButtonsHint, false);
+    setFixedWidth(400);
+
+    //    setModal(true);
+    //    setWindowFlags(Qt::Dialog);
+    //    setWindowFlag(Qt::WindowContextHelpButtonHint, false);
+    //    resize(400, 250);
 }
 
 void ExpertInfoWidget::initialize()
@@ -164,12 +170,12 @@ void ExpertInfoWidget::updateState()
     switch (m_mode) {
     case Add: {
         t = "添加用户";
-        h = 300;
+        h = 350;
         break;
     }
     case Update: {
         t = "修改用户信息";
-        h = 300;
+        h = 350;
         break;
     }
     case Read: {
@@ -179,14 +185,11 @@ void ExpertInfoWidget::updateState()
     }
     }
 
-    setMaximumHeight(h);
+    setFixedHeight(h);
     setWindowTitle(t);
 
     setEditable(m_mode != Read);
     setDetailsHideen(m_mode == Add);
-
-    //    update();
-    repaint();
 }
 
 void ExpertInfoWidget::setDetailsHideen(bool hidden)