Qt学习笔记1
来源:互联网 发布:淘宝店铺怎么来搞信誉 编辑:程序博客网 时间:2024/04/30 11:08
一般创建Qt项目,把Widget.ui复选项去掉,这样的好处是:直接写代码编出ui界面,界面内的组件自动对齐,并且随界面的缩放而相应缩放。
如果创建Qt类,如下写法时:
btn1=newQPushButton(this);
layout->addWidget(btn1,1,0);
不用加delete,自动析构掉;
若只是:btn1=newQPushButton(); 则后面需要自己写代码析构掉。
例:前面实现求和的例子,现在用代码实现界面和槽。
-在dialog.cpp中添加如下代码:
#include<QGridLayout>
Dialog::Dialog(QWidget*parent)
:QDialog(parent)
{
btn1=newQPushButton(this);
edit1=newQLineEdit(this);
edit2=newQLineEdit(this);
label1=newQLabel(this);
label1->setText("label1");
btn1->setText("求和");
QGridLayout*layout=newQGridLayout(this);
layout->addWidget(edit1,0,0);
layout->addWidget(edit2,0,1);
layout->addWidget(btn1,1,0);
layout->addWidget(label1,1,1);
connect(btn1,SIGNAL(clicked()),this,SLOT(add()));//将btn1的点击事件和add函数关联
}
在dialog.h中添加如下代码:
private:
QPushButton*btn1;
QLineEdit*edit1,*edit2;
QLabel*label1;
privateslots:
voidadd();
voidDialog::add()
{
QStrings1=edit1->text();//得到edit1控件中用户输入的字符
QStrings2=edit2->text();//得到edit2控件中用户输入的字符
boolok=false;
inta=s1.toInt(&ok,16);//按16进制
if(ok==false)
return;
intb=s2.toInt(&ok,16);
if(ok==false)
return;
label1->setText(QString::number(a+b,16));
}
QString提供了二元的“+”操作符用于组合两个字符串,并提供了“+=”操作符用于将一个字符串添加到另一个字符串的末尾。(Qt内部维护了const char*)
格式化字符串代码:
QStrings1=edit1->text();//得到edit1控件中用户输入的字符
QStrings2=edit2->text();//得到edit2控件中用户输入的字符
QStrings3;
s3.sprintf("%s,%s",s1.toStdString().data(),s2.toStdString().data());
label1->setText(s3);
注:
QString("").isNull();//为false
QString("").isEmpty();//为true
- QT学习笔记1
- Qt学习笔记【1】
- QT学习笔记-1
- Qt学习笔记(1)
- Qt学习笔记1
- qt学习笔记1
- Qt学习笔记1
- Qt学习笔记1
- qt学习笔记1
- Qt学习笔记1
- QT学习笔记1
- QT学习笔记1
- QT学习笔记1:QT入门
- QT webkit学习笔记(1)
- QT webkit学习笔记(1)
- Qt入门学习笔记1
- Qt学习笔记1-QString
- QT学习笔记(1)
- UVA 1192 Dragon of Loowater
- DMA与普通中断方式的区别
- 很特别的一个动态规划入门教程
- 详解C中volatile关键字
- ShareSDK For Unity的使用
- Qt学习笔记1
- Android framework 修改系统音量条背景图片
- 部署在VM上的vCenter迁移
- 【MongoDB】上传示例
- React实现限制checkBox的点击个数
- Thrift0.8.0安装常见问题
- 在VS2015上安装OpenCV3.0以及利用CMake编译OpenCV
- php 从指定数字中获取随机组合的方法
- leetcode刷题,总结,记录,备忘 371