zoukankan      html  css  js  c++  java
  • QT学习之窗口部件

    • 对话框--QDialog

      • 模态对话框与非模态对话框

        •   模态对话框:就是相当于没关闭它之前,不能再和该应用程序的其他窗口进行交互(比如新建项目时弹出的对话框)
        •   非模态对话框:可以与它交互,也可以与该程序中的其他项目进行交互,比如文档编辑器中的查找替换对话框。
        •   实现方式:模态对话框---直接调用exec(),非模态对话框---先new一个对话框对象,然后调用show函数显示即可。(注:show也能显示模态对话框,只需要在show前面加上setModel(true)即可
        •       实现效果:exec函数只有关闭对话框之后才能进行显示数据,show函数的话只会一闪而过,而不会产生预期的效果(可以创建指针对象进行show显示)

     

      • 多窗口切换

        •   信号和槽机制的实现
          •   手动关联:利用connect函数
          •   自动关联:将槽函数整合到槽的命名中,要用到QT中已经提供的信号,比如:on_showChildButton_clicked(),这个就是将on这个button和发射的信号绑定在一起的,我们在这个函数里面进行关联函数的撰写就行了
          •     注:accept函数是qdialog里面的函数,用来响应按钮按下,槽函数执行结果的。

      • 标准对话框

        •   总共常用的对话框差不多8种吧,要用的时候再去看源码吧,基本创建套路是一样的。
        •   这里就写一个常用的输入对话框吧
          // 输入对话框
          void MyWidget::on_pushButton_4_clicked()
          {
              bool ok;
              // 获取字符串
              QString string = QInputDialog::getText(this,tr("输入字符串对话框"),
                        tr("请输入用户名:"),QLineEdit::Normal,tr("admin"),&ok);
              if(ok) qDebug() << "string:"<<string;
          
              // 获取整数
              int value1 = QInputDialog::getInt(this,tr("输入整数对话框"),
                        tr("请输入-1000到1000之间的数值"),100,-1000,1000,10,&ok);
              if(ok) qDebug() << "value1:"<<value1;
          
              // 获取浮点数
              double value2 = QInputDialog::getDouble(this,tr("输入浮点数对话框"),
                        tr("请输入-1000到1000之间的数值"),0.00,-1000,1000,2,&ok);
              if(ok) qDebug() << "value2:"<<value2;
          
              // 获取条目
              QStringList items;
              items << tr("条目1") << tr("条目2");
              QString item = QInputDialog::getItem(this,tr("输入条目对话框"),
                                         tr("请选择一个条目"),items,0,true,&ok);
              if(ok) qDebug() << "item:"<<item;
          }

    • 其他窗口部件

      • QFrame类

        •   QFrame类族是带有边框部件的基类,它的子类有Qlabel,还有QLCDNumber,QSplitter,还有QStackedWidget,QToolBox和QAbstractScrollrea。QAbstraccrallrea是所有带有滚动区域的部件类的抽象基类,对于所有的带有abstract的抽象类是不能直接使用的,但是可以通过继承实现自己的类,或者使用它提供的子类。QFeame类有个边界框架,QFrame的主要功能是用来实现不同的边框效果,效果是由形状和阴影组成的。
          QFrame 的属性:frameShape,frameShadow,lineWidth,midLineWidth
        •   
  • 相关阅读:
    B树、B-树、B+树、B*树
    CentOS 7 源码编译安装PostgreSQL 9.5
    phpstorm里面无法配置deployment?
    Php7安装pdo_pgsql,pgsql扩展
    [xDebug] PhpStorm Xdebug远程调试环境搭建
    [xDebug]Xdebug和Sublime调试PHP代码
    [xDebug] 服务器端的配置参数
    [xDebug] php下的Debug的调试
    【转】漫画:什么是协程?
    【转】一个由正则表达式引发的血案----贪婪模式的回溯
  • 原文地址:https://www.cnblogs.com/Kobe10/p/6515436.html
Copyright © 2011-2022 走看看