函數實現qt的屬性的修改

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章