• 对话框--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之间的数值"),,-,,,&ok);
        if(ok) qDebug() << "value1:"<<value1; // 获取浮点数
        double value2 = QInputDialog::getDouble(this,tr("输入浮点数对话框"),
        tr("请输入-1000到1000之间的数值"),0.00,-,,,&ok);
        if(ok) qDebug() << "value2:"<<value2; // 获取条目
        QStringList items;
        items << tr("条目1") << tr("条目2");
        QString item = QInputDialog::getItem(this,tr("输入条目对话框"),
        tr("请选择一个条目"),items,,true,&ok);
        if(ok) qDebug() << "item:"<<item;
        }


  • 其他窗口部件

    • QFrame类

      •   QFrame类族是带有边框部件的基类,它的子类有Qlabel,还有QLCDNumber,QSplitter,还有QStackedWidget,QToolBox和QAbstractScrollrea。QAbstraccrallrea是所有带有滚动区域的部件类的抽象基类,对于所有的带有abstract的抽象类是不能直接使用的,但是可以通过继承实现自己的类,或者使用它提供的子类。QFeame类有个边界框架,QFrame的主要功能是用来实现不同的边框效果,效果是由形状和阴影组成的。

        QFrame 的属性:frameShape,frameShadow,lineWidth,midLineWidth
      •   

QT学习之窗口部件的更多相关文章

  1. PyQt(Python+Qt)学习随笔:窗口部件大小策略sizePolicy与SizeConstraint布局大小约束的关系

    在<PyQt(Python+Qt)学习随笔:Qt Designer中部件的三个属性sizeHint缺省尺寸.minimumSizeHint建议最小尺寸和minimumSize最小尺寸>. ...

  2. QT学习之窗口右键菜单

    #QT学习之窗口右键菜单 QWidget 及其子类都有右键菜单,主要因为其有两个与右键菜单相关联的函数: Qt::ContextMenuPolicy contextMenuPlicy() const ...

  3. Qt图形测绘窗口部件介绍

    Qt 图形测绘窗口部件,主要使用第三方窗口部件: 1.Qwt:http://qwt.sourceforge.net 开源免费 2.GraphPak: http://www.ics.com  收费 3. ...

  4. PyQt(Python+Qt)学习随笔:部件的大小策略sizePolicy的含义

    在Qt Designer中的每个部件,除了设置部件的位置(geometry)之外,还可以指定部件的大小策略sizePolicy.部件的sizePolicy用于说明部件在布局管理中的缩放方式,当部件没有 ...

  5. 【Qt编程】Qt学习之窗口间的相互切换

    在用Qt设计GUI时,经常要设计两个窗口之间的相互切换,即可以从一个窗口跳转到另一个窗口,然后又从另一个窗口跳转回原窗口.下面我们来介绍具体的实现方法: 工程建立及功能描述: 首先,我们建立Qt  G ...

  6. PyQt(Python+Qt)学习随笔:部件的inputMethodHints属性

    inputMethodHints属性只对输入部件有效,输入法使用它来检索有关输入法应如何操作的提示,例如,如果设置了只允许输入数字的标志,则输入法可能会更改其可视组件,以反映只能输入数字.相关取值及含 ...

  7. Qt学习3---子窗口与父窗口

    创建子窗口后,主窗口的头文件需要  #include "子窗口头文件" 子窗口和父窗口之间相互切换 子窗口没有办法处理父窗口,子窗口此时就需要一个信号: * 信号必须有signal ...

  8. Qt 之 去除窗口部件被选中后的焦点虚线框(设置Qt::NoFocus即可)

    http://blog.csdn.net/goforwardtostep/article/details/53420529

  9. Qt 之 去除窗口部件被选中后的焦点虚线框

    转自: https://blog.csdn.net/goforwardtostep/article/details/53420529 https://blog.csdn.net/caoshangpa/ ...

随机推荐

  1. 小程序scroll-view组件使用时,子元素虽设置样式display:inline-flex;whit-space:nowrap

    小程序scroll-view组件使用时,子元素虽设置样式display:inline-flex;whit-space:nowrap

  2. java 检测代理IP是否准确

    我这里提供2个方法都可以实现:第一个是createIPAddress()和convertStreamToString() import java.io.IOException; import java ...

  3. C语言经典面试题 与 C语言面试宝典

    1 预处理 问题1:什么是预编译?何时需要预编译? 答: 预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作.主要处理#开头的指令.如拷贝#include包含的文件代码.替换# ...

  4. 十六.jQuery源码解析之Sizzle设计思路.htm

    为了便于后面的叙述,需要了解一些相关术语和约定. 并列选择器表达式:"div,p,a"====>div,p,a是并列的. 块表达式:"div>p"中 ...

  5. IOCP的缓冲区

    IOCP的缓冲区: 应用程序的缓冲区 套接字的缓冲区 TCP的缓冲区 两个会造成WSAENOBUFS错误的原因: 锁定页面达到上限 非分页页面达到上限

  6. GSON使用笔记

    GSON简介 GSON是Google开发的Java API,用于转换Java对象和Json对象,我在这里将记录一下GSON的简单使用 下载GSON 我们可以在其github仓库中下载,也可以使用Mav ...

  7. web前端 ajax加载动态生成复选框demo

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  8. POJ-3273 Monthly Expense (最大值最小化问题)

    /* Monthly Expense Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10757 Accepted: 4390 D ...

  9. 在项目中redis做缓存的一些思路

    首先,缓存的对象有三种: 1:数据库中单条的的数据(以表名跟id作为key永久保存到redis),在有更新的地方都要更新缓存(不适用于需要经常更新的数据): 2:对于一些不分页,不需要实时(需要多表查 ...

  10. javscript踩过的坑 - 记录

    1. js中, ‘==’ 运算符是对大小写敏感的