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之间的数值"),,-,,,&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
- QFrame类族是带有边框部件的基类,它的子类有Qlabel,还有QLCDNumber,QSplitter,还有QStackedWidget,QToolBox和QAbstractScrollrea。QAbstraccrallrea是所有带有滚动区域的部件类的抽象基类,对于所有的带有abstract的抽象类是不能直接使用的,但是可以通过继承实现自己的类,或者使用它提供的子类。QFeame类有个边界框架,QFrame的主要功能是用来实现不同的边框效果,效果是由形状和阴影组成的。
QT学习之窗口部件的更多相关文章
- PyQt(Python+Qt)学习随笔:窗口部件大小策略sizePolicy与SizeConstraint布局大小约束的关系
在<PyQt(Python+Qt)学习随笔:Qt Designer中部件的三个属性sizeHint缺省尺寸.minimumSizeHint建议最小尺寸和minimumSize最小尺寸>. ...
- QT学习之窗口右键菜单
#QT学习之窗口右键菜单 QWidget 及其子类都有右键菜单,主要因为其有两个与右键菜单相关联的函数: Qt::ContextMenuPolicy contextMenuPlicy() const ...
- Qt图形测绘窗口部件介绍
Qt 图形测绘窗口部件,主要使用第三方窗口部件: 1.Qwt:http://qwt.sourceforge.net 开源免费 2.GraphPak: http://www.ics.com 收费 3. ...
- PyQt(Python+Qt)学习随笔:部件的大小策略sizePolicy的含义
在Qt Designer中的每个部件,除了设置部件的位置(geometry)之外,还可以指定部件的大小策略sizePolicy.部件的sizePolicy用于说明部件在布局管理中的缩放方式,当部件没有 ...
- 【Qt编程】Qt学习之窗口间的相互切换
在用Qt设计GUI时,经常要设计两个窗口之间的相互切换,即可以从一个窗口跳转到另一个窗口,然后又从另一个窗口跳转回原窗口.下面我们来介绍具体的实现方法: 工程建立及功能描述: 首先,我们建立Qt G ...
- PyQt(Python+Qt)学习随笔:部件的inputMethodHints属性
inputMethodHints属性只对输入部件有效,输入法使用它来检索有关输入法应如何操作的提示,例如,如果设置了只允许输入数字的标志,则输入法可能会更改其可视组件,以反映只能输入数字.相关取值及含 ...
- Qt学习3---子窗口与父窗口
创建子窗口后,主窗口的头文件需要 #include "子窗口头文件" 子窗口和父窗口之间相互切换 子窗口没有办法处理父窗口,子窗口此时就需要一个信号: * 信号必须有signal ...
- Qt 之 去除窗口部件被选中后的焦点虚线框(设置Qt::NoFocus即可)
http://blog.csdn.net/goforwardtostep/article/details/53420529
- Qt 之 去除窗口部件被选中后的焦点虚线框
转自: https://blog.csdn.net/goforwardtostep/article/details/53420529 https://blog.csdn.net/caoshangpa/ ...
随机推荐
- centos开机提示CPU无法识别的问题
centos版本和对应cpu兼容性,官方网址: https://access.redhat.com/support/policy/intel Red Hat Enterprise Linux Vers ...
- angular的继承作用域通信
本人学了一段时间的angular,angular之间怎样通信,我就总结以下几点,如果有哪位大神认为不对,敬请赐教. 1.父子之间的作用域进行通信 html <div ng-controller= ...
- java.lang.String.trim(), 不仅仅去掉空格
由于我们处理的日志需要过滤一些空格,因此大部分处理日志的程序中都用到了java.lang.String.trim()函数.直到有一次遇到一个诡异的问题,某个包含特殊字符的字符串被trim后居然也为 ...
- 全景之HDR
全景之HDR拍摄 全景HDR流程: 1.相机拍摄 1.1 HDR拍摄 HDR拍摄需要拍摄不同曝光度的多张图片. 1.2 摄像师消去 需要摄像师在不同位置(一般为相机的两面),拍摄两次HDR. 注意: ...
- “microsoft ace oledb 12.0 未注册”疑云
1. 有人说: 2015也是要安装32位的AccessDataengine,anycpu选32位优先才行,不然就是Microsoft.ACE.OLEDB.12.0未注册. hanstom,一个老调重弹 ...
- leetcode671
class Solution { public: vector<int> V; void postTree(TreeNode* node) { if (node != NULL) { V. ...
- Ansible 快速上手
Ansible优点: 充分利用现有设施.使用 Ansible 无需安装服务端和客户端,只要 SSH 即可.这意味着,任何一台装有 Ansible 的机器都可以成为强大的管理端.我觉得,这种去中心化的思 ...
- C#基础编程试题 4
一.题目 使用递归算法和二维数组,根据下面条件排序上面的对象. 五个人 张三 李四 王五 猴六 麻七 五间房子 黄房子 蓝房子 红房子 绿房子 橙房子 五只宠物 蜗牛 小狗 小猫 小白兔 小金鱼 五个 ...
- 用jQuery获取table中行id和td值
<%@ page language="java" pageEncoding="UTF-8"%> <% String path = reques ...
- kubernetes role
https://kubernetes.io/docs/admin/authorization/rbac/