#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QString>//for QString
#include <QMovie> //for QMovie
#include <QTime> //for QTime
#include <QPalette> //for palatte
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//获得窗口的宽度和高度
int w = this->width();
int h = this->height();
qDebug()<<" w = "<<w
<<" h = "<<h;
//重新设置大小
ui->pushButton->resize(100, 120);
//获得pushbutton的宽度和高度
int pw = ui->pushButton->width();
int ph = ui->pushButton->height();
qDebug()<<"pw = "<<pw
<<"ph = "<<ph<<"\n"
<<__FILE__<<__LINE__<<"\n"
<<"auto = "<<ui->pushButton->size()<<"\n";
//获得矩形的坐标
qDebug()<<"geomtry = "<<ui->pushButton->geometry();
//单独或者举行长宽信息
int x = ui->pushButton->geometry().x();
int y = ui->pushButton->geometry().y();
qDebug()<<"gemotry x ="<<x
<<"gemotry y ="<<y;
//设置pushButton属性,setGeometry
ui->pushButton->setGeometry(0,0,75,23);
//获得窗口类对象名
QString wname = this->objectName();
qDebug()<<"wname ="<<wname;
//获得pushbutton 对象名
QString pname = ui->pushButton->objectName();
qDebug()<<"pname ="<<pname;
//隐藏labelText
ui->label->hide();
//button设置为非使能
ui->pushButton->setEnabled(false);
//显示labeiText
ui->label->show();
ui->pushButton->setEnabled(true);
//******************字符串类 :QString类字符串处理**************//
QString str = "123";
bool ok = false;
int m = str.toInt(&ok, 16);
qDebug()<<"str = "<<str<<"m = "<<m
<<"ok = "<<ok;
str = QString::number(m, 16); //16代表待转换的数为16进制
qDebug()<<"m to str = "<<str;
str.append("abc");
qDebug()<<"after str.append(abc)"<<str; //将字符串连接起来
str += "QT" ; //用运算符重载将字符串连接
qDebug()<<"+= QT"<<str;
QString str2;
str2 = QString("**%1##%2&&%3").arg(m).arg(str).arg(" !!!!");//QString类似sprinf的用法 %1%2%3将
//引用后边的1,2,3数据
qDebug()<<"str2 = "<<str2;
//************************QLabel**********************//
ui->label->setText("<a href = www.baidu.com>abcdefg</a>"); //设置显示的标签
QString text = ui->label->text();
qDebug()<<"label text = "<<text;
ui->label->setPixmap(QPixmap("../image/boy.gif"));
//<a herf="链接地址"><img src="图片地址"></ a>
ui->label->setScaledContents(true);
//设置动画 move 需要包含头文件 QMovie
movie = new QMovie; //定义一个movie的类 注意析构函数中是否有删除空间
movie->setFileName("../image/boy.gif"); //设置文件的名字
ui->label_2->setScaledContents(true); //自动适应大小
ui->label_2->setMovie(movie);
movie->start(); //movie启动播放
/**********************QPushButton*******************************/
ui->pushButton->setGeometry(QRect(0,0,80,50));
ui->pushButton->setText("ensure");
qDebug()<<"buton text"<<ui->pushButton->text();
ui->pushButton->setIcon(QIcon("../image/wright.png")); //QIcon 构造一个icon的类
ui->pushButton->setIconSize(QSize(30,30)); //设置图片的大小
/******************************lcdNumber********************************/
ui->lcdNumber->setDigitCount(5);
ui->lcdNumber->setNumDigits(5);//
ui->lcdNumber->display(45.66); //显示
//ui->lcdNumber->display("abcd");
//progress bar 进度条
ui->progressBar->setMinimum(0); //最大最小值设置
ui->progressBar->setMaximum(200);
ui->progressBar->setValue(200); //显示数值自动计算百分比
/*************************下拉组合框comboBox******************************/
QString currText;
currText = ui->comboBox->currentText();
int index = ui->comboBox->currentIndex();
qDebug()<<"currText = "<<currText<<"\nIndex"<<index;
ui->comboBox->setCurrentIndex(1);
ui->comboBox->setMaxCount(120);//最大的项
currText = ui->comboBox->currentText();
index = ui->comboBox->currentIndex();
qDebug()<<"currText = "<<currText<<"\nIndex"<<index;
ui->comboBox->insertItem(5,"666666");
//获得密码
qDebug()<<"lineEdit ="<<ui->lineEdit->text();
//设置字符
ui->lineEdit->setText("qqqqqqqq");
//追加字符
ui->lineEdit->insert("ttt");
//设置文本显示方式
ui->lineEdit->setEchoMode(QLineEdit::Password);//Echo是枚举类型 可以直接写枚举的值,也可以引用
//ui->lineEdit->setReadOnly(true);//设置只读模式
//qDebug()<<ui->lineEdit->isReadOnly();
//textEdit 文本编辑框
ui->textEdit->setTextColor(Qt::red); //QColor(0xffff) Qt::red QColor(0, 255 0)设置颜色的几种方式
ui->textEdit->setText("hello QT!"); //
ui->textEdit->setTextColor(QColor(0,255,255));
ui->textEdit->setFontPointSize(20);
ui->textEdit->append("adfajsd"); //追加文本 换行
ui->textEdit->setFontPointSize(40); //设置字体的字号
ui->textEdit->append("sdfadsfa");
// 获得一个随机数
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));//从0时0分0秒到当前时间的秒数
int t = qrand();
ui->lcdNumber->display(t);
//通过代码修改前景色,背景色
QPalette p;
p.setColor(QPalette::Window, Qt::blue);//大写Windows 表示数据是个变量
p.setColor(QPalette::Window, Qt::red);
ui->lcdNumber->setPalette(p);
this->setPalette(p);
ui->lcdNumber->setAutoFillBackground(true);
//通过代码修改资源图片
ui->label_2->setGeometry(100, 20, 200, 50);
ui->label_2->setScaledContents(true);
ui->label_2->setPixmap(QPixmap(":/new/prefix1/qq1.jpg"));
}
Widget::~Widget()
{
delete ui;
delete movie;//
}