首页 > 技术知识 > 正文

在之前的工作中开始接触QT,从最基础的函数和类开始学起,特此记录笔记。

MainWindow

//显示一个窗口,通常在main函数中

例:

MainWindow b;

b.show();

QApplication

管理GUI程序的控制流和主要设置

例:QApplication::QApplication(int & argc,char ** argv)

//使用在argv中包含的argc个命令行参数,初始化窗口系统及应用对象

QPushButton

按钮类

例:QPushButton *button = new QPushButton(this);//new一个按钮类button

button->setText(“wow!”);//设置按钮类显示文本

button->move(100,100);//移动该按钮位置

QMessageBox

信息提示框类

information

例:QMessageBox::information(this, “hello”, “Hello World!”,QMessageBox::Yes | QMessageBox::No);

ps:注意QMessageBox成员名是否敲错Yes&No,不可以是小写,当然手动修改是可以的

详细示例:

https://www.cnblogs.com/zhoug2020/p/10094855.html

QString

表示字符串的类

几种用法

1、获取子字符串在字符串中的位置。

(1)indexOf():返回此字符串中第一次出现的字符串str的索引位置,从索引位置向前搜索。如果找不到str,则返回-1。

(2)lastIndexOf()函数:返回字符串的最后一次出现的索引。

2、字符串相互转换。

(1)数字转换为字符串,使用静态函数QString::number():

(2)字符串转换为数字,常用的有toInt(),toLongLong(),toDouble()等等

3、提取字符串。

(1)中间截取mid(intposition,len)函数接受两个参数,第一个是起始位置,第二个是取串的长度。如果省略第二个参数,则会从起始位置截取到末尾;如果位置索引超过了字符串的长度,则返回空字符串。

例: sn = s_temp.mid(7);

(2)左边截取left()函数返回最前面的n个字符,右边截取right()函数返回最后的n个字符。

4、判断字符串是否包含。

(1)isEmpty函数用于判断字符串是否为空,并返回判断结果,非空返回false。

(2)isNull效果和isEmpty类似,如果该字符串为空,则返回true;否则返回false。

5、remove (0, i);

//移除temp第0到i之间的数据,这里可以添加一个判断:如果i=0则不处理 则break; //跳出循环

其他类

QByteArray 字节数组

QGridLayout 表格布局类

QTextEdit 文本编辑框类,单页面多信息编辑器对象

QLabel 标签类,提供文本或者图像的显示

QVBoxLayout 垂直布局类

QHBoxLayout 水平布局类

exec()函数

例:

int main(int argc, char *argv[])

{

QApplication a(argc, argv);

MainWidget w;

w.show();

return a.exec();

}

//对于a.exec()来说,对象进入事件循环,这样当Qt应用程序运行时便可以接受产生的事件,例如单击和键盘按下等事件

connect();

// 连接信号与槽

button 按钮类

signal() 放置触发信号,例如clicked(bool)点击触发

this this指针

SLOT() 放置槽函数

例:

connect(button,signal(clicked(bool)),this,SLOT(iSlot(bool)));

//连接在槽iSlot上

connect(button,&QPushButton::clicked,this,{qDebug()<<“juhyguy”;});

//使用lambda表达式连接在qDebug()<<“juhyguy”;上

void MainWindow::iSlot(bool)

{

QMessageBox::information(this,”hello”,”hello world”);

}

槽函数声明:

private slots:

void iSlot(bool);

//尽量设置公有类成员函数,因为可能需要外部调用

除了上面分享的函数和类,QT编程中最重要的内容之一我觉得应该还是信号与槽的知识内容,但其深入探讨篇幅较长,下次有机会再好好整理出来给大家分享!

猜你喜欢