#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;//
}