简单QT应用到通过手写布局实现QT应用
#include <QPushButton> //按钮对应的头文件
#include <QVBoxLayout> //布局,这个中布局让组件上下显示
#include <QHBoxLayout> //这个布局让组件水平显示
#include <QGridLayout> //Grid表格布局的头文件
#include <QLineEdit> //单行文本框对应的头文件
#include <QLabel> //Label对应的头文件
QHBoxLayout *layout1, *layout2; //两个布局
QLineEdit *edit1,*edit2,*edit3;
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
layout1 = new QHBoxLayout;
layout2 = new QHBoxLayout;
//layout3 = new QVBoxLayout(this);
layout4 = new QGridLayout(this);
btn1 = new QPushButton;
edit1 = new QLineEdit;
edit2 = new QLineEdit;
edit3 = new QLineEdit;
label1 = new QLabel;
label2 = new QLabel;//这个控件没有任何父控件
//第一种布局方式
// layout1->addWidget(btn1);
// layout1->addWidget(edit1);
// layout1->addWidget(edit2);
// layout1->addWidget(edit3);
// layout2->addWidget(label1);
// layout3->addLayout(layout1);
// layout3->addLayout(layout2);
layout4->addWidget(btn1, 0, 0);
layout4->addWidget(edit1, 0, 1);
layout4->addWidget(edit2, 0, 2);
layout4->addWidget(edit3, 1, 0);
layout4->addWidget(label1, 1, 1);
btn1->setText("确定");
//当点击了btn1的时候就调用on_clicked()这个函数
//实现控件与具体的槽函数关联
connect(btn1, SIGNAL(clicked()), this, SLOT(on_clicked()));
}
Widget::~Widget()
{
//delete layout1;在QT内部,不需要单独delete一个控件的指针
//QT的窗口在退出的时候会自动delete他相关的子控件
delete label2;
}
void Widget::on_clicked()
{
int a = edit1->text().toInt();
int b = edit3->text().toInt();
if (edit2->text() == "+")
label1->setText(QString::number(a + b));
if (edit2->text() == "-")
label1->setText(QString::number(a - b));
if (edit2->text() == "*")
label1->setText(QString::number(a * b));
if (edit2->text() == "/")
{
if (b != 0)
label1->setText(QString::number(a / b));
}
}
7.main.cpp文件
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
8.窗口的效果:
简单QT应用到通过手写布局实现QT应用相关推荐
- 【iOS】自动布局(AutoLayout)和手写布局(frame)
1.1 AutoLayout原理 iOS 中视图所需要的布局信息只有两个,分别是 origin/center 和 size,在这里我们以 origin & size 为例,也就是 frame ...
- 02黑马QT笔记之完全手写Hello World
02黑马QT笔记之完全手写Hello World 1 步骤: 1 新建项目. 2 选择其他项目->空项目. 3 在空项目中添加QT +=widgets //代表使用窗口基类. 4 右击项目名字- ...
- NumPy实现简单的神经网络分析Mnist手写数字库(三)之划分迷你批(mini-batch)
NumPy实现简单的神经网络分析Mnist手写数字库(三)之划分迷你批(mini-batch) 划分迷你批(mini-batch) 引言 迷你批(mini-batch)简介 经典梯度下降 随机梯度下降 ...
- 利用python实现简单的人工神经网络识别手写数字
利用 Python 搭建起了一个简单的神经网络模型,并完成识别手写数字. 1.前置工作 1.1 环境配置 这里使用scikit-learn库内建的手写数字字符集作为本文的数据集.scikit-lear ...
- MVP简单封装,不用再手写了
前言: 本文的源码是根据一位前辈的帖子加入了本人的理解总结的,如果感觉不错,感谢采用,如果有瑕疵,请及时沟通,我会尽快修复不足.只是喜欢代码,谈不上精通. 正文: 导入依赖 项目gradle allp ...
- linux运行qt桌面生成pro怎么写,把桌面qt代码编译运行到qpe上的一个例子
qt-x11版本是2.3.2 qt core版本是2.3.2 qtopia版本是2.2.x qt-x11版本安装目录下的tutorial目录下有一些例子.我把其中的t7目录下的程序(这是一个lcd数值 ...
- Qt虚拟键盘更新,支持手写识别功能
Qt官方博客发布消息称,新版本的Qt虚拟键盘支持手书写识别功能(HWR).性能改进.Nuance T9书写一体化,并支持繁体中文! Qt虚拟键盘日前发布了新功能和版本控制方案的更新.作为最近的许可变更 ...
- 基于Aforge的手势识别之一~~~简单的手写识别
本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 上一篇文章介绍了如何用Aforge去捕捉运动物体,现在就介绍一个更深入的操作----手势识别. 我 ...
- Android 电子签名,手写签名案列实现方法,并上传网页显示(base64)!
最近说项目可能会用到一个电子签名,不需要识别的那种,只是一个单纯手写签名,然后以base64的格式提供给前端web页面.其实挺简单的,自定义一个手写view就上线了.Android 电子签名,手写签名 ...
最新文章
- python3 删除 文件 文件夹
- php后台无法接受文件,ios afnetworking2.x上传图片 服务端php无法接受文件问题
- 【转】Linux系统编程---dup和dup2详解
- Solr及Spring-Data-Solr入门学习
- 2017河北对口计算机试题,2017河北省对口升学计算机专业理论试题(附答案解析).doc...
- poj 2253 Frogger floyd 长路求权值最大边,属于简单题!!!!
- Unity笔记——1.Unity3D脚本基础
- Xshell、Xftp 正版资源
- 详解什么是BT种子、迅雷下载链接、磁力链接
- SATI统计分析文献--以关键词为例
- 计算机动画电影英语翻译,“动画电影”英语怎么说
- 智齿科技宣布完成1亿美元D轮融资,暂未取得有效专利
- 安装完Fedora 18后需要做的事情
- ALL_TAB_COLS
- 凹凸贴图、法线贴图、置换贴图
- 聊聊我在职场的至暗时刻!
- [附源码]java毕业设计病历管理系统
- 对上传图片进行处理,大图片压缩补白,小图片适度放大四周补白
- 由浅入深探索DotAsterisk(点星PBX)中小型呼叫中心IPPBX系统(一:前言)
- Linux中fork()系统调用创建两个子进程
热门文章
- VTK:量化多数据点用法实战
- VTK:标量条形 Actor用法实战
- VTK:高亮选择动画用法实战
- VTK:绘制单元格颜色用法实战
- OpenCASCADE:Modeling Algorithms模块几何工具之插值
- wxWidgets:制作渲染循环
- boost::safe_numerics模块测试 constexpr 转换
- boost::math模块二项式分布来预测概率 抛硬币时的正面和反面的测试程序
- boost::filesystem模块Microsoft TCHAR 的使用示例的测试程序
- GDCM:gdcm::ImageReader的测试程序