现在的位置: 首页 > 综合 > 正文

函数实现qt的属性的修改

2013年02月23日 ⁄ 综合 ⁄ 共 4297字 ⁄ 字号 评论关闭
#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;//
}

抱歉!评论已关闭.