QMianWindow
概述
 
 QMainWindow  
 是一个为用户提供主窗口程序的类,包含一个菜单栏( 
 menu bar 
 )、多  
 
 
 个工具栏 
 (tool bars) 
 、多个铆接部件 
 (dock widgets) 
 、一个状态栏 
 (status bar) 
 及  
 
 
 一个中心部件 
 (central widget)  
 
 
 许多应用程序的基础,如文本编辑器,图片编辑器等。  
 
 
菜单栏
 
  创建菜单栏:  
 
 
  
  #include <QMenuBar>  
 
 
  
  QMenuBar --> QMenuBar(QWidget *parent = Q_NULLPTR)  
 
 
  
  添加菜单栏:  
 
 
  
  QMainWindow --> void setMenuBar(QMenuBar *menuBar)  
 
 
  
  
   创建菜单:  
  
 
   
   #include <QMenu>  
  
 
   
   QMenu --> QMenu(const QString &title, QWidget *parent = Q_NULLPTR)  
  
 
   
   添加菜单:  
  
 
   
   QMenuBar --> QAction *addMenu(QMenu *menu);  
  
 
   
   QMenu --> QAction *addMenu(QMenu *menu); 
  
 
   
   
    创建菜单项:  
   
 
    
    #include <QAction>  
   
 
    
    QAction --> QAction(const QString &text, QObject *parent = nullptr)  
   
 
    
    添加菜单项:  
   
 
    
    QMenu --> addAction(const QAction *action)  
   
 
    
    添加分割线  
   
 
    
    QMenu->addSeparator()  
   
 
    
    设置快捷方式  
   
 
    
    QAction --> setShortcut(tr(" 
    快捷键 
    "));  
   
 
    
    QAction --> setShortcut(QKeySequence( 
    键 
    1+ 
    键 
    2));  
   
 
    
    如 
    :  
   
 
    
    qa --> setShortcut(tr("ctrl+n"));  
   
 
    
    qa -> setShortcut(QKeySequence(Qt::CTRL+Qt::Key_N));  
   
 
    
    
     QAction 
     的信号 
    
 
     
      void changed()  
     
 
      
      void hovered()  
     
 
      
      void toggled(bool checked)  
     
 
      
      void triggered(bool checked = false)  
      触发【推荐】 
     
 
     工具栏
 
 创建工具栏:  
 
 
 #include <QToolBar>  
 
 
 QToolBar --> QToolBar(QWidget *parent = Q_NULLPTR)  
 
 
 
 添加工具栏:  
 
 
 QMainWindow -->  
 
 
         void addToolBar(QToolBar *toolbar)  
 
 
         void addToolBar(Qt::ToolBarArea area, QToolBar *toolbar)  
 
 
                 Qt::LeftToolBarArea 左边显示  
 
 
                 Qt::RightToolBarArea 右边显示  
 
 
                 Qt::TopToolBarArea 上边显示  
 
 
                 Qt::BottomToolBarArea 下边显示 
 
 
  设置位置 
 
 
  
   setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea 
   )  
  
 
   
   
   设置可移动性  
  
 
   
   setMoveable(false) //  
   工具条不可移动 
   ,  
   只能停靠在初始化的位置上 
  
 
 状态栏
 
 创建状态栏:  
 
 
 QStatusBar --> QStatusBar(QWidget *parent = Q_NULLPTR);  
 
 
 将控件添加到左边栏  
 
 
 void addWidget(QWidget *widget, int stretch = 0)  
 
 
 将控件添加到右边栏  
 
 
 void addPermanentWidget(QWidget *widget, int stretch = 0)  
 
 
 添加状态栏:  
 
 
 QMainWindow --> void setStatusBar(QStatusBar *statusbar) 
 
铆接部件
 
 创建铆接部件:  
 
 
 QDockWidget -->QDockWidget(const QString &title, QWidget *parent =  
 
 
 Q_NULLPTR)  
 
 
 添加铆接部件:  
 
 
 QMainWindow -->void addDockWidget(Qt::DockWidgetArea area,  
 
 
 QDockWidget* dockwidget)  
 
 
         Qt::LeftDockWidgetArea 左边  
 
 
         Qt::RightDockWidgetArea 右边  
 
 
         Qt::TopDockWidgetArea 上边  
 
 
         Qt::BottomDockWidgetArea 下边 
 
中心控件
 
 // 
 创建文本编辑控件  
 
 
 QTextEdit * userName = new QTextEdit(this);  
 
 
 userName->setText(" 
 文本编辑 
 ");  
 
 
 // 
 添加中心控件  
 
 
 setCentralWidget(userName); 
 
 
资源文件
 
 步骤 
 1: 
 创建资源管理文件夹 
 
 
 
 
 
 
 
 
  步骤2:添加前缀 
 
 
  
 
  
 
  
   步骤3:添加文件 
  
 
   
    1, 
    创建 
    image 
    文件夹  
   
 
    
    2, 
    将所需图片资源存储到该文件夹中  
   
 
    
    3, 
    将该文件夹拷贝到项目下  
   
 
    
    4, 
    先点击添加 
    , 
    选择添加文件  
   
 
    
     注意 
     : 
     添加完文件或修改别名之后,需要保存( 
     Ctrl+S 
     ) 
    
 
     
      别名  
     
 
      
 
      
       【注意】资源有别名后原资源路径无法访问该资源。  
      
 
       
        使用  
       
 
        
         QPixmap pix;  
        
 
         
         pix.load(":/image/up.png");  
        
 
         
         ui->label->setPixmap(pix);  
        
 
         
         this->setWindowIcon(QIcon(":/image/Sunny.jpg"));  
        
 
         
         
          注意 
          : 
          如果资源有别名直接使用 
          , 
          如 
          Sunny.jpg 
          的别名为 
          s 
          时 
          , 
          直接使用别名 
          , 
          如下  
         
 
          
           this->setWindowIcon(QIcon(":/s")); 
          
 
           
          对话框
 
           分类  
          
 
           
            对话框分为模态对话框和非模态对话框。  
           
 
            
            模态对话框,就是会阻塞同一应用程序中其它窗口的输入。  
           
 
            
            是非模态对话框,例如查找对话框,我们可以在显示着查找对话 框的同时,继续对记事本的内进行编辑  
           
 
            
            
            使用  
            QDialog::exec() 
            实现应用程序级别的模态对话框  
           
 
            
            使用  
            QDialog::open() 
            实现窗口级别的模态对话框  
           
 
            
            使用  
            QDialog::show() 
            实现非模态对话框  
           
 
            
             头文件 
            
 
             
             #include<QDialog> 
            
 
             
              基本对话框 
             
 
              
              对应类 
              :QMessageDialog 
             
 
             
               示例1: 
             
 
              
               QPushButton  
               * 
               btn01  
               =  
               new  
               QPushButton 
               ( 
               " 
               消息对话框 
               : 
               提示框 
               " 
               , 
               this 
               );  
              
 
               
               connect 
               ( 
               btn01 
               , 
               QPushButton::clicked 
               ,[ 
               & 
               ](){  
              
 
               
               QMessageBox::about 
               ( 
               this 
               , 
               " 
               关于 
               " 
               , 
               "QT5 
               之消息对话框 
               : 
               提示框 
               " 
               );  
              
 
               
               }); 
              
 
               
               
               示例2: 
              
 
               
                QPushButton  
                * 
                btn02  
                =  
                new  
                QPushButton 
                ( 
                " 
                消息对话框 
                : 
                警告框 
                " 
                , 
                this 
                );  
               
 
                
                btn02 
                -> 
                move 
                ( 
                0 
                , 
                50 
                );  
               
 
                
                connect 
                ( 
                btn02 
                , 
                QPushButton::clicked 
                ,[ 
                & 
                ](){  
               
 
                
                QMessageBox::warning 
                ( 
                this 
                , 
                " 
                关于 
                " 
                , 
                "QT5 
                之消息对话框 
                : 
                警告框 
                " 
                );  
               
 
                
                }); 
               
 
                
                
                示例3: 
               
 
                
                 QPushButton  
                 * 
                 btn03  
                 =  
                 new  
                 QPushButton 
                 ( 
                 " 
                 消息对话框 
                 : 
                 错误框 
                 " 
                 , 
                 this 
                 );  
                
 
                 
                 btn03 
                 -> 
                 move 
                 ( 
                 0 
                 , 
                 100 
                 );  
                
 
                 
                 connect 
                 ( 
                 btn03 
                 , 
                 QPushButton::clicked 
                 ,[ 
                 & 
                 ](){  
                
 
                 
                 QMessageBox::critical 
                 ( 
                 this 
                 , 
                 " 
                 关于 
                 " 
                 , 
                 "QT5 
                 之消息对话框 
                 : 
                 错误框 
                 " 
                 );  
                
 
                 
                 }); 
                
 
               
             示例4: 
           
 
            
             QPushButton  
             * 
             btn04  
             =  
             new  
             QPushButton 
             ( 
             " 
             消息对话框 
             : 
             消息框 
             " 
             , 
             this 
             );  
            
 
             
             btn04 
             -> 
             move 
             ( 
             0 
             , 
             150 
             );  
            
 
             
             connect 
             ( 
             btn04 
             , 
             QPushButton::clicked 
             ,[ 
             & 
             ](){  
            
 
             
             QMessageBox::information 
             ( 
             this 
             , 
             " 
             关于 
             " 
             , 
             "QT5 
             之消息对话框 
             : 
             消息框 
             " 
             );  
            
 
             
             }); 
            
 
             
             
             示例5: 
            
 
             
              QPushButton  
              * 
              btn05  
              =  
              new  
              QPushButton 
              ( 
              " 
              消息对话框 
              : 
              选择框 
              " 
              , 
              this 
              );  
             
 
              
              btn05 
              -> 
              move 
              ( 
              0 
              , 
              200 
              );  
             
 
              
              connect 
              ( 
              btn05 
              , 
              QPushButton::clicked 
              ,[ 
              & 
              ](){  
             
 
              
              QMessageBox::StandardButton sta 
              ;  
             
 
              
              sta  
              =  
              QMessageBox::question 
              ( 
              this 
              , 
              " 
              问答 
              " 
              , 
              " 
              消息对话框你学会了吗 
              ?" 
              );  
             
 
              
              if 
              ( 
              sta  
              ==  
              QMessageBox::Yes 
              )  
             
 
              
              {  
             
 
              
                      qDebug 
              ()  
              <<  
              " 
              学会了 
              "  
              <<  
              endl 
              ;  
             
 
              
              }  
             
 
              
              else  
             
 
              
              {  
             
 
              
                      qDebug 
              ()  
              <<  
              " 
              没学会 
              "  
              <<  
              endl 
              ;  
             
 
              
              }  
             
 
              
              }); 
             
 
              
              
              文件对话框  
             
 
             
               头文件 
             
 
              
               #include <QFileDialog>  
              
 
              
                示例: 
                
                 
              
 
              
                QPushButton  
                * 
                btn06  
                =  
                new  
                QPushButton 
                ( 
                " 
                文件对话框 
                " 
                , 
                this 
                );  
               
 
                
                btn06 
                -> 
                move 
                ( 
                0 
                , 
                250 
                );  
               
 
                
                connect 
                ( 
                btn06 
                , 
                QPushButton::clicked 
                ,[ 
                & 
                ](){  
               
 
                
                QString filename  
                =  
                QFileDialog::getOpenFileName 
                ( 
                this 
                , 
                " 
                文  
               
 
                
                件 
                " 
                , 
                "D:/" 
                , 
                "*.cpp" 
                );  
               
 
                
                qDebug 
                ()  
                <<  
                filename  
                <<  
                endl 
                ;  
               
 
                
                }); 
               
 
                
                颜色对话框  
               
 
               
                 头文件 
               
 
                
                 #include <QColorDialog> 
                
 
                
                  示例: 
                  
                   
                    
                  
                  
                   
                    
                     
                      
                       
 
                      
                      
                       
 
                      
                      
                       
                        
 
                       
                       
                        
 
                       
                       
                        
                         
                          
 
                         
                         
                          
                           
                            
                             
                              
                               
 
                              
                              
                               
                                
                                 
 
                                
                                
                                 
 
                                
                                
                                 
                                  
                                   
 
                                  
                                  
                                   
 
                                  
                                  
                                   
                                    
                                     
                                      
 
                                     
                                     
                                      
 
                                     
                                     
                                   
                                  
                                 
                                
                               
                              
                             
                            
                           
                          
                         
                        
                       
                      
                     
                    
                   
                  
                
 
                
                  QPushButton  
                  * 
                  btn07  
                  =  
                  new  
                  QPushButton 
                  ( 
                  " 
                  颜色对话框 
                  " 
                  , 
                  this 
                  );  
                 
 
                  
                  btn07 
                  -> 
                  move 
                  ( 
                  0 
                  , 
                  300 
                  );  
                 
 
                  
                  connect 
                  ( 
                  btn07 
                  ,  
                  QPushButton::clicked 
                  ,[ 
                  & 
                  ](){  
                 
 
                  
                  QColor color  
                  =  
                  QColorDialog::getColor 
                  ( 
                  Qt::white 
                  , 
                  this 
                  , 
                  " 
                  颜色 
                  " 
                  );  
                 
 
                  
                  qDebug 
                  () 
                  << 
                  color 
                  . 
                  red 
                  () 
                  << 
                  " " 
                  << 
                  color 
                  . 
                  green 
                  () 
                  << 
                  " " 
                  << 
                  color 
                  . 
                  blue 
                  () 
                  << 
                  endl 
                  ;  
                 
 
                  
                  }); 
                 
 
                  
                  
                   字体对话框 
                  
 
                  
                    头文件 
                  
 
                   
                    #include <QFontDialog>  
                   
 
                   
                     示例: 
                     
                      
 
                     
                   
 
                   
                     QPushButton *btn08 = new QPushButton(" 
                     字体对话框 
                     ",this);  
                    
 
                     
                     btn08->move(0,350);  
                    
 
                     
                     connect(btn08, QPushButton::clicked,[&](){  
                    
 
                     
                     bool yes = true;  
                    
 
                     
                     QFont font = QFontDialog::getFont(&yes,QFont(" 
                     宋体 
                     "),this," 
                     字体 
                     ");  
                    
 
                     
                     qDebug() << endl << font.family()<< endl;  
                    
 
                     
                     qDebug() << font.pointSize() << endl;  
                    
 
                     
                     }); 
                    
 
                     
                     自定义对话框  
                    
 
                    
                      创建 
                    
 
                     
 
                    


 
                  使用  
                 
 
                  
                   1, 
                   导入头文件  
                  
 
                   
                   2, 
                   使用 
                  
 
                   
                    QPushButton  
                    * 
                    btn09  
                    =  
                    new  
                    QPushButton 
                    ( 
                    " 
                    自定义对话框 
                    " 
                    , 
                    this 
                    );  
                   
 
                    
                    btn09 
                    -> 
                    move 
                    ( 
                    0 
                    , 
                    400 
                    );  
                   
 
                    
                    connect 
                    ( 
                    btn09 
                    ,  
                    QPushButton::clicked 
                    ,[ 
                    & 
                    ](){  
                   
 
                    
                    MyDialog01  
                    * 
                    dialog  
                    =  
                    new  
                    MyDialog01 
                    ( 
                    this 
                    );  
                   
 
                    
                    dialog 
                    -> 
                    setWindowTitle 
                    ( 
                    " 
                    自定义对话框 
                    " 
                    );  
                   
 
                    
                    // 
                    模态对话框  
                   
 
                    
                    //dialog->exec();  
                   
 
                    
                    // 
                    非模态对话框  
                   
 
                    
                    dialog 
                    -> 
                    show 
                    ();  
                   
 
                    
                    }); 
                   
 
                   布局方式
概述
 
                     Qt  
                     提供了两种组件定位机制:绝对定位和布局定位  
                    
 
                     
                     1 
                     ) 绝对定位: 是一种最原始的定位方法,给出这个组件的坐标和长宽值。  
                    
 
                     
                     2 
                     ) 布局定位: 只要把组件放入某一种布局,布局由专门的布局管理器进行管理,当  
                    
 
                     
                     需要调整大小或者位置的时候, 
                     Qt 
                     使用对应的布局管理器进行调整。  
                    
 
                     
                     Qt  
                     提供的布局中以下三种是我们最常用的:  
                    
 
                     
                     QHBoxLayout 
                     :按照水平方向从左到右布局;  
                    
 
                     
                     QVBoxLayout 
                     :按照竖直方向从上到下布局;  
                    
 
                     
                     QGridLayout 
                     :在一个网格中进行布局,类似于  
                     HTML  
                     的  
                     table 
                     ; 
                    
 
                     
                      系统提供的布局控件  
                     
 
                      
 
                      
 
                     
                       以上使用不灵活 
                     
 
                      
                       利用 
                       widget 
                       做布局 
                      
 
                       
 
                       
 
                      常用UI控件
 
                        QLabel 
                        标签控件 
                       
 
                       
                         语法 
                       
 
                        
                         setText 
                         设置文本  
                        
 
                         
                         text 
                         获取文本  
                        
 
                         
                         setPixmap 
                         显示图片  
                        
 
                         
                         setMovie 
                         显示动画  
                        
 
                         
 
                        
                          示例1 
                        
 
                         
                          // 
                          设置文本  
                         
 
                          
                          ui->test01->setText(" 
                          德玛西亚 
                          ");  
                         
 
                          
                          connect(ui->btn01,QPushButton::clicked,[&](){  
                         
 
                          
                          QString str;  
                         
 
                          
                          // 
                          获取文本  
                         
 
                          
                          str = ui->test01->text();  
                         
 
                          
                          qDebug() << str << endl;  
                         
 
                          
                          }); 
                         
 
                          
                          示例2 
                         
 
                          
                           // 
                           设置图片  
                          
 
                           
                           ui->test01->setPixmap(QPixmap(":/hd"));  
                          
 
                           
                           ui->test01->setPixmap(QPixmap(":/image/Edit.png")); 
                          
 
                           
                           示例3 
                          
 
                           
                            // 
                            设置动画  
                           
 
                            
                            QMovie *movie = new QMovie(":/image/mario.gif");  
                           
 
                            
                            ui->test01->setMovie(movie);  
                           
 
                            
                            // 
                            开始播放  
                           
 
                            
                            movie->start();  
                           
 
                            
                            // 
                            停止播放  
                           
 
                            
                            movie->stop(); 
                           
 
                            
                             QLineEdit 
                             标签控件 
                            
 
                            
                              语法 
                            
 
                             
                              QString text() const  
                             
 
                              
                              void setText(const QString &)  
                             
 
                              
                              void setEchoMode(EchoMode mode)  
                             
 
                              
                              QLineEdit::Normal  
                              模式显示方式,按照输入的内容显示。  
                             
 
                              
                              QLineEdit::NoEcho  
                              不显示任何内容,此模式下无法看到用户的输入。  
                             
 
                              
                              QLineEdit::Password  
                              密码模式,输入的字符会根据平台转换为特殊字符。  
                             
 
                              
                              QLineEdit::PasswordEchoOnEdit  
                              编辑时显示字符否则显示字符作为密  
                             
 
                              
                              void setTextMargins(int left, int top, int right, int bottom) 
                             
 
                              
 
                             
                               示例 
                             
 
                              
                               ui->lineEdit->setText("hello world");  
                              
 
                               
                               ui->lineEdit->setEchoMode(QLineEdit::Password);  
                              
 
                               
                               ui->lineEdit->setTextMargins(20,50,20,10);  
                              
 
                               
                               connect(ui->btn,QPushButton::clicked,[&](){  
                              
 
                               
                               QString str;  
                              
 
                               
                               str = ui->lineEdit->text();  
                              
 
                               
                               qDebug() << str.toUtf8().data() << endl;  
                              
 
                               
                               }); 
                              
 
                               
                                单选框  
                               
 
                               
                                 示例 
                               
 
                                
 
                                
 
                               
                                 代码 
                               
 
                                
                                 // 
                                 头文件中声明性别与年龄  
                                
 
                                 
                                 private 
                                 :  
                                
 
                                 
                                 Ui::Widget  
                                 * 
                                 ui 
                                 ;  
                                
 
                                 
                                 QString sex 
                                 ;  
                                
 
                                 
                                 QString hun 
                                 ;  
                                
 
                                 
                                 // 
                                 源文件  
                                
 
                                 
                                 connect 
                                 ( 
                                 ui 
                                 -> 
                                 sexm 
                                 , 
                                 QPushButton::clicked 
                                 ,[ 
                                 & 
                                 ](){  
                                
 
                                 
                                 sex  
                                 =  
                                 ui 
                                 -> 
                                 sexm 
                                 -> 
                                 text 
                                 ();  
                                
 
                                 
                                 qDebug 
                                 ()  
                                 <<  
                                 " 
                                 性别 
                                 :"  
                                 <<  
                                 sex 
                                 . 
                                 toUtf8 
                                 (). 
                                 data 
                                 ()  
                                 <<  
                                 endl 
                                 ;  
                                
 
                                 
                                 });  
                                
 
                                 
                                 connect 
                                 ( 
                                 ui 
                                 -> 
                                 sexw 
                                 , 
                                 QPushButton::clicked 
                                 ,[ 
                                 & 
                                 ](){  
                                
 
                                 
                                 sex  
                                 =  
                                 ui 
                                 -> 
                                 sexw 
                                 -> 
                                 text 
                                 ();  
                                
 
                                 
                                 qDebug 
                                 ()  
                                 <<  
                                 " 
                                 性别 
                                 :"  
                                 <<  
                                 sex 
                                 . 
                                 toUtf8 
                                 (). 
                                 data 
                                 ()  
                                 <<  
                                 endl 
                                 ;  
                                
 
                                 
                                 });  
                                
 
                                 
                                 connect 
                                 ( 
                                 ui 
                                 -> 
                                 hun1 
                                 , 
                                 QPushButton::clicked 
                                 ,[ 
                                 & 
                                 ](){  
                                
 
                                 
                                 hun  
                                 =  
                                 ui 
                                 -> 
                                 hun1 
                                 -> 
                                 text 
                                 ();  
                                
 
                                 
                                 qDebug 
                                 ()  
                                 <<  
                                 " 
                                 婚否 
                                 :"  
                                 <<  
                                 hun 
                                 . 
                                 toUtf8 
                                 (). 
                                 data 
                                 ()  
                                 <<  
                                 endl 
                                 ;  
                                
 
                                 
                                 });  
                                
 
                                 
                                 connect 
                                 ( 
                                 ui 
                                 -> 
                                 hun2 
                                 , 
                                 QPushButton::clicked 
                                 ,[ 
                                 & 
                                 ](){  
                                
 
                                 
                                 hun  
                                 =  
                                 ui 
                                 -> 
                                 hun2 
                                 -> 
                                 text 
                                 ();  
                                
 
                                 
                                 qDebug 
                                 ()  
                                 <<  
                                 " 
                                 婚否 
                                 :"  
                                 <<  
                                 hun 
                                 . 
                                 toUtf8 
                                 (). 
                                 data 
                                 ()  
                                 <<  
                                 endl 
                                 ;  
                                
 
                                 
                                 }); 
                                
 
                                 
                                  多选框  
                                 
 
                                 
                                   示例 
                                 
 
                                  
 
                                  
 
                                 
                                   代码 
                                 
 
                                  
                                   // 
                                   头文件  
                                  
 
                                   
                                   // 
                                   存储多选选中内容的容器  
                                  
 
                                   
                                   QStringList list;  
                                  
 
                                   
                                   // 
                                   源文件,在 
                                   UI 
                                   文件中点击 
                                   CheckBox, 
                                   右击转到槽  
                                  
 
                                   
                                   void Widget::on_checkBox1_stateChanged(int arg1)  
                                  
 
                                   
                                   {  
                                  
 
                                   
                                   if(arg1 == 2){  
                                  
 
                                   
                                   list.append(ui->checkBox1->text());  
                                  
 
                                   
                                   } 
                                  
 
                                   
                                    else  
                                   
 
                                    
                                    {  
                                   
 
                                    
                                    list.removeOne(ui->checkBox1->text());  
                                   
 
                                    
                                    }  
                                   
 
                                    
                                    for(int i = 0; i < list.size(); i++)  
                                   
 
                                    
                                    {  
                                   
 
                                    
                                    qDebug() << list.at(i) << endl;  
                                   
 
                                    
                                    }  
                                   
 
                                    
                                    }  
                                   
 
                                    
                                    void Widget::on_checkBox2_stateChanged(int arg1)  
                                   
 
                                    
                                    {  
                                   
 
                                    
                                    if(arg1 == 2){  
                                   
 
                                    
                                    list.append(ui->checkBox2->text());  
                                   
 
                                    
                                    }  
                                   
 
                                    
                                    else  
                                   
 
                                    
                                    {  
                                   
 
                                    
                                    list.removeOne(ui->checkBox2->text());  
                                   
 
                                    
                                    }  
                                   
 
                                    
                                    for(int i = 0; i < list.size(); i++)  
                                   
 
                                    
                                    {  
                                   
 
                                    
                                    qDebug() << list.at(i) << endl;  
                                   
 
                                    
                                    }  
                                   
 
                                    
                                    }  
                                   
 
                                    
                                    void Widget::on_checkBox3_stateChanged(int arg1)  
                                   
 
                                    
                                    {  
                                   
 
                                    
                                    if(arg1 == 2){  
                                   
 
                                    
                                    list.append(ui->checkBox3->text());  
                                   
 
                                    
                                    }  
                                   
 
                                    
                                    else  
                                   
 
                                    
                                    {  
                                   
 
                                    
                                    list.removeOne(ui->checkBox3->text());  
                                   
 
                                    
                                    }  
                                   
 
                                    
                                    for(int i = 0; i < list.size(); i++)  
                                   
 
                                    
                                    {  
                                   
 
                                    
                                    qDebug() << list.at(i) << endl;  
                                   
 
                                    
                                    }  
                                   
 
                                    
                                    } 
                                   
 
                                    
                                     下拉列表 
                                    
 
                                     
                                     示例: 
                                     
 
                                      
 
                                    
 
                                     
 
                                     
 
                                     
 
                                    
                                      代码: 
                                     
 
                                    
                                      // 
                                      设置当前选中的位置  
                                     
 
                                      
                                      ui->comboBox->setCurrentIndex(2);  
                                     
 
                                      
                                      // 
                                      当选中发送改变时调用  
                                     
 
                                      
                                      void Widget::on_comboBox_currentIndexChanged(const QString &arg1)  
                                     
 
                                      
                                      {  
                                     
 
                                      
                                      qDebug() << arg1 << endl;  
                                     
 
                                      
                                      } 
                                     
 
                                    


















