嵌入式培训机构四个月实训课程笔记(完整版)-C++和QT编程第五天-Qt基础(物联技术666)

发布时间:2024年01月18日

链接:https://pan.baidu.com/s/1HENCN2TrrxRvvkAmPxonfg?pwd=1688
提取码:1688

QT常用快捷键

ctrl+f? 高亮查找;

ctrl+s? 保存

ctrl+/? 注销

F1?? ?? 对指定的文件帮助显示,连续2下,全屏显示

ctrl+鼠标左键? 跳转到目标内容

label:改变前景和背景是window 和windowtext? 背景色必须勾选autofillbackground

Dialog和Widget设置:

//*******************************************************

this->setMinimumSize(320,240);? //设置最小大小

this->setMaximumSize(320,240);//设置最大大小

this->setWindowTitle(QString("QQ-2009版"));//设置窗口名字

//? this->setWindowIcon(QIcon(QString("../image/QQ_pic/Icon_1.ico")));//设置窗口图片

this->setWindowIcon(QIcon(":/new/prefix1/Icon_1.ico"));//利用资源,设置窗口图片

this->this->showFullScreen();? //全屏显示

this->x();??????????? //获得当前窗口在全屏的x位置this->pos().x()

this->geometry().width();? //获得当前窗口的宽度

this->geometry().width(); //获得当前窗口的高度

ui->verticalLayout->addWidget(this->newWidget2);

//加入对象到窗口,窗口有verticalLayout排列

//******************************************************

QLabel:
//**********************************************************

this->label_back2 = new QLabel(this);????????? //申请空间,并且插入到this对象中

this->label_back2->setGeometry(0,200,320,340);????? //设定开始坐标X、Y和宽、高

this->label_back2->setPixmap(QPixmap(QString(":/new/prefix1/qq3.jpg")));//设置背景图片

this->label_back2->setScaledContents(true);//图片自适应大小

this->label_back2->show();????????????????? //显示label

int X = ui->label->x();?????? //获得label在当前窗口的x坐标

int Y = ui->label->y();//获得label在当前窗口的y坐标

QFont font;

font.setPointSize(10);???????????????????? //设置字体

this->label_access->setFont(font);? //设置字体

? this->label_status->setAlignment(Qt::AlignTop|Qt::AlignHCenter);

??????????????????????????????????????????????????????????????????????? ?//设置字体显示格式,Qt::AlignTop为宏

QMovie *movie;???????? //设置动画指针

movie = new QMovie;?????????????

movie->setFileName("../image/boy.gif");????? //设置路径

ui->label_2->setMovie(movie);?????????????

ui->label_2->setScaledContents(true);;//设置贴图,并且适应大小。

ui->label_2->movie()->start();

QPixmap pix("../image/on.png");?????????? //设置图片对象

ui->label->setPixmap(pix);????? ?????????

ui->label->setPixmap(QPixmap("../image/off.png"));

this->label->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);?????? //尽量扩展

//***************************************************************

QComboBox

//**************************combo_box**************************

this->combo_box = new QComboBox(this);???????? //申请空间,并且插入到this对象中

this->combo_box->setGeometry(80,80,160,22);//设定开始坐标X、Y和宽、高

//? this->combo_box->setEnabled(true);??????????? //允许选择对象

this->combo_box->setEditable(true);?????????? //允许输入

this->combo_box->setCurrentIndex(0); //设置显示当前第几个

this->combo_box->setMaxVisibleItems(10);? //设置保存显示最大数

this->combo_box->setInsertPolicy(QComboBox::InsertAtTop); //设置插入放在最上面

//? this->combo_box->setEditText(QString("1232")); //编辑第一个文字

//? this->combo_box->setEditText(QString("1233342"));

this->combo_box->insertItem(0,QString("12342"));?? //加入文字,放到第一个

this->combo_box->insertItem(1,QString("1234222"));//加入文字,放到第二个

//**************************************************************

QLineEdit(线编辑文本)

//*************************QLineEdit******************************

? this->line_edit = new QLineEdit(this);

? this->line_edit->setGeometry(80,110,160,22);????????????? //设置坐标和大小x/y/w/h

? this->line_edit->setEchoMode(QLineEdit::Password);?????????? //设置显示模式为密码

//***************************************************************

QTextEdit(编辑文本)

//*************************************************************

ui->textEdit->clear();??????? //文本框清屏

ui->textEdit->setFontPointSize(20);?????? //设置字体20??????

ui->textEdit->setTextColor(Qt::red);????? //设置字体颜色红色

ui->textEdit->setText("aaaaa");???????????? //先清空,在设置文本

ui->textEdit->setTextColor(QColor(0,0,255));???????????? //用RBG准确定义字体颜色?????????

ui->textEdit->append("bbbb");? ?????????? ?//在原有基础上追加文本

//************************************************************

QPushButton(按键)

//**************************************************************

ui->pushButton->setEnabled(true);??????? //设置按键可以能够按下,false是不能按下

qDebug()<<ui->pushButton->text();???? //打印按键内容

ui->pushButton->setText("YES");????????? //设置按键内容为yes

ui->pushButton->setIcon(QIcon("../image/myheart.png"));????? //设置按键图片

ui->pushButton->setIconSize(QSize(20,20));?????? //设置按键图片大小????????????

//***************************************************************

radioButton(多选一按钮)

//***************************************************************

if(ui->radioButton->isChecked() == true)

?????? qDebug()<<"radio is button";

if(ui->radioButton_2->isChecked() == true)

?????? qDebug()<<"radio_2 is button";

//****************************************************************

QGroupBox(按键组,可以更好的管理一组按键)

//***************************************************************

如图

ui->groupBox->setEnabled(false);?? //设置按键组全部不能按下

ui->radioButton->setChecked(true);????? //设置默认radioButton按下

ui->checkBox->checkState();//返回int型,可以判断是否选中

//*****************************************************************

QString

//***************************************************************

定义:

QString str = "World";

int n = str.size();??????? //返回字符大小

QString i;?????????? // current file's number

QString total;?????? // number of files to process

QString fileName;??? // current file's name?? 类似于sprintf

QString status = QString("Processing file %1 of %2: %3").arg(i).arg(total).arg(fileName);

if(str3.startsWith("aaa") == true)

?????? qDebug()<<"str3.startsWith start is aaa";

if(str3 == "aaa")

?????? qDebug()<<"str3.startsWith start is aaa";

if(str3 >= "aaa")

?????? qDebug()<<"str3.startsWith start is aaa";

if(str3 <= "aaa")

?????? qDebug()<<"str3.startsWith start is aaa";

QString str = "FF";

bool ok;

int hex = str.toInt(&ok, 16);?????? // hex == 255, ok == true

int dec = str.toInt(&ok, 10);?????? // dec == 0, ok == false

QString str("LOGOUTrn");???????

str.chop(2);?????????????? //减掉最后2个字符

// str == "LOGOUT"

//*****************************************************************

QProgressBar(进度条)

//*****************************************************************

ui->progressBar->setMinimum(0);?? //设置进度条最小值

ui->progressBar->setMaximum(100);???? //设置进度条最大值

ui->progressBar->setValue(50);????? //设置当前值

//******************************************************************

QLCDNumber(数码显示)和qrand()

//******************************************************************

qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));

//随机种子,从0h0m0s-当前时间返回一个数为随机种子

QString str = "12345";?????

ui->lcdNumber->setDigitCount(str.size());???? //设置显示位数

ui->lcdNumber->display(str);??????????????? //显示数字

ui->lcdNumber->display(12.34);???? //显示浮点数字

int t = qrand();??????????????????????? //产生一个随机数

ui->lcdNumber->setDigitCount(QString::number(t).size()); //先转换为字符,在设置显示位数

ui->lcdNumber->display(t);????? //显示随机数

//******************************************************************

QTime(时间)

//******************************************************************

qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));//以从0到当前时间为种子

int t = qrand();??? //获得随机数

???????????????????

QTime time;

time= QTime::currentTime();?? //time为当前时间

qsrand(time.msec()+time.second()*1000);??

//time.msec()为当前微妙0-999,time.second()当前秒数,设定59999以内的数

//*******************************************************************

QTimer(定时器,注意不是QTime)

//******************************************************************

QTimer*timer = new QTimer(this)

timer->start(1000); //以ms为单位,启动定时器

timer->stop();//关闭定时器,不关闭定时器,计时是循环计时的

timer->timeout();//检查计时是否计满

//******************************************************************

QPalette

QPalette::Window, 通常指窗口部件的背景色

QPalette::WindowText,通常指窗口部件的前景色

QPalette::Base,指文本输入窗口部件的背景色

QPalette::Text,指文本输入的窗口部件的前景色

QPalette::Button,指按钮窗口部件的背景色

QPalette::ButtonText,指按钮窗口的前景色

//*************************************************************

QPalette p;????????? //定义调色板对象

p.setColor(QPalette::Base,Qt::black);???? //设置背景色为黑

ui->lineEdit->setPalette(p);//设置lineedit的背景色

ui->lineEdit->setAutoFillBackground(true);??? //自动填充选中

//*************************************************************

Layerout

//*************************************************************

scribbleArea->setCursor(QCursor(Qt::CrossCursor));//定义光标

ui->gridLayout->addWidget(scribbleArea,1,0);??????? //设置行列?? 代码形式实现

//*************************************************************

fram

//*************************************************************

??? frame = new QFrame(Othello);

??????? frame->setObjectName(QString::fromUtf8("frame"));

??????? frame->setGeometry(QRect(140, 110, 191, 131));

??????? frame->setFrameShape(QFrame::StyledPanel);

??????? frame->setFrameShadow(QFrame::Raised);

??????? pushButton = new QPushButton(frame);

??????? pushButton->setObjectName(QString::fromUtf8("pushButton"));

??????? pushButton->setGeometry(QRect(60, 50, 75, 23));

//***************************************************************

tabWidget

//*****************************************

tabWidget->tab1->setTabIcon(0,QIcon(QString("../image1/LEDback.jpg")));//设置tab图标图片

ui->tabWidget->setStyleSheet("background-image:url(../image1/LEDback.jpg);");//设置背景

文章来源:https://blog.csdn.net/vx349014857/article/details/135675180
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。