QT QT程序初练
//界面编程
#include "widget.h"
#include "ui_widget.h" Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
} Widget::~Widget()
{
delete ui;
} void Widget::on_pushButton_clicked()
{
QString s1=ui->lineEdit->text();//得到lineEdit用户输入的文本
QString s2=ui->lineEdit_2->text();
int a=s1.toInt()+s2.toInt();//toint()将文本转化为整数
ui->label->setText(QString::number(a));
}
非界面编程
#ifndef DIALOG_H
#define DIALOG_H #include <QDialog>
#include <QPushButton>
#include <QLineEdit>
#include <QLabel> class Dialog : public QDialog
{
Q_OBJECT public:
Dialog(QWidget *parent = );
~Dialog();
private:
//使用哪个控件,需要引用该控件的头文件(QString除外)
QPushButton *btn1;
QLineEdit *edit1,*edit2;
QLabel *label1;
private slots:
void add();
}; #endif // DIALOG_H
#include "dialog.h"
#include <QGridLayout> //构造函数
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
btn1=new QPushButton(this);
edit1=new QLineEdit(this);
edit2=new QLineEdit(this);
label1=new QLabel(this);
btn1->setText("求和");
label1->setText("label");
QGridLayout * layout=new QGridLayout(this);
//QGridLayout是网格布局,第二个参数表示第几行,第三个参数表示第几列,QGridLayout一般需要上下左右都要对齐
layout->addWidget(edit1,,);
layout->addWidget(edit2,,);
layout->addWidget(btn1,,);
layout->addWidget(label1,,);
//只要是主控件上的控件,当主控件释放的时候,主控件上的所有控件都会被释放,不需要使用delete(游离主控件之外的空间不会被释放) //将btn1点击事件和add函数关联起来
connect(btn1,SIGNAL(clicked()),this,SLOT(add()));
} void Dialog::add()
{
QString s1=edit1->text();
QString s2=edit2->text();
bool on=false;
//将字符串s1转化成10进制,转化失败on返回false
int a=s1.toInt(&on,)+s2.toInt(&on,);
label1->setText(QString::number(a));
} Dialog::~Dialog()
{ }
QT QT程序初练的更多相关文章
- 【Qt开发】关于Qt应用程序中的堆栈、静态存储区的使用错误
[Qt开发]关于Qt应用程序中的堆栈.静态存储区的使用错误 标签:[Qt开发] 最近终于又碰到了这个问题,想在main函数中定义一个局部大的数组,结果运行就报错,尼玛!刚开始真的不知道到发生了什么,后 ...
- Qt应用程序图标设置
Qt应用程序图标设置 本文仅仅适用于windows下,linux等不适用. 下面说的图标,指的是程序文件的图标,而不是托盘图标或者说运行时任务栏的图标(任务栏和程序窗口的图标在windows/linu ...
- 报表控件NCReport教程:集成NCReport到Qt应用程序中
NCReport是一款轻量级.快速.多平台.简单易用的基于Qt toolkit的C++编写的报表解决方案,目前主要包括报表渲染库和报表设计器GUI应用程序. 但是好多使用NCReport控件的朋友都不 ...
- QT添加程序图标及窗口图标
程序图标 材料准备 图标文件:*.ico文件,存放在源文件同一目录下,如"myapp.ico" 写入图标 向*.pro文件中,独立一行写入"RC_ICONS = *.ic ...
- Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法
Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...
- Linux下Qt应用程序的发布(使用LDD命令查看所有依赖的库文件)
最近一直在学习Qt,用Qt写了一个程序,但是不知道怎么发布,网上说的都是在windows下怎么发布Qt应用程序,但是,在windows下Qt应用程序依赖的库文件与linux下的名字不同.于是,我就想到 ...
- 让你的 Qt 桌面程序看上去更加 native(一共六篇)
<让你的 Qt 桌面程序看上去更加 native>是一个系列文章.在这个系列中,你将会了解到如何让你的 Qt 桌面应用程序看上去更加 native.这里,我假设你已经清楚如何使用 Qt 编 ...
- 让qt应用程序支持触摸
一.设备驱动 我的触摸屏是usb接口的 可以参考下这2篇文件 http://blog.csdn.net/paomadi/article/details/8754783 usb触摸屏 http://bl ...
- Qt应用程序中设置字体
Qt应用程序中设置字体 应用程序中经常需要设置字体,例如office软件或者是其他的编辑器软件等等.这里主要涉及到如下几个概念:字体,字号以及风格(例如:粗体,斜体,下划线等等).Qt里面也有对应的类 ...
随机推荐
- OC中NSArray
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- 导出excel乱码问题
今天遇到一个问题,在用C#做导出excel的时候,出现excel乱码问题.百度了下. 发现问题如下: 非中文字符编码问题. 解决方法: 把输出的excel格式设置成UTF-8即可. 更改代码: Res ...
- JavaScript Patterns 2.10 Naming Conventions
1. Capitalizing Constructors var adam = new Person(); 2. Separating Words camel case - type the word ...
- 【Android】 Android实现录音、播音、录制视频功能
智能手机操作系统IOS与Android平分天下(PS:WP与其他的直接无视了),而Android的免费招来了一大堆厂商分分向Android示好,故Android可能会有“较好”的前景. Android ...
- mysql ---复制表结构---创建新表
1.复制表结构及数据到新表CREATE TABLE 新表SELECT * FROM 旧表这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删 ...
- 解决 Eclipse 项目有红感叹号的方法
原因:显示红色感叹号是因为jar包的路径不对 解决: 在项目上右击:Build Path -> Configure Build Paht...(或Propertise->Java Buil ...
- python基础入门
Python简介 python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白.大家都知道,当下全栈工程师的概念很火 ...
- 虚拟机centos6.5 --设置静态ip
编辑网卡文件,vi /etc/sysconfig/network-scripts/ifcfg-eth0修改以下内容: ONBOOT=no #改为yes, BOOTPROTO=dbcp #改为stati ...
- NOIP2007 T2纪念品分组 解题报告-S.B.S.
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #inclu ...
- SharePoint Error:a system restart from a previous installation or update is pending
run:regedit 打开注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 删除PendingFileR ...