Qt之QString字符串类的详细介绍及功能函数示例用法

article/2025/9/12 7:09:35

前序:为了加深对Qt各个类的认识和了解,决定以后再闲暇的时间对Qt类进行详细的阅读(基于Qt cteater 的帮助文档),这样既可以提高自己的英文阅读能力,也可以对各个类有一个更加深入的认识和了解。


注:整个对Qt的拆解和分析都是基于Qt 5.80

开始啃帮助文档。以下总结不会对帮助文档全篇内容翻译,会在自己翻译的基础上加上自己的理解,进行一个简单的总结,以便在使用时忘记的时候复习查看。

目录

1.Detailed Description(详细描述)

2. Public Functions 公有的函数

2.1 类对象的构造

2.2 追加字符串(前追加prepend or push_front和后追加append or push_back)

2.3 组合字符串(arg)

2.4 字符串的裁剪(chop,truncate,resize,remove)

2.5 字符串的比较(compare,constData)

2.6 判断字符串是否存在(contains)

2.7 判断字符串出现的次数(count)

2.8 字符串的大小长度(count,size,length)

2.9 判断字符串是否以某一个子串开始(startsWith)

2.11 查找字符串获取第一次出现位置索引(indexof)

2.12 查找字符串获取最后一次出现位置索引(lastIndexof)

2.13 字符串的插入(insert,left,leftJustified,rightJustified)

2.14 字符串的分割(mid)

2.15 字符串的删除(remove)

2.16 字符串的替换(replace)

2.17 字符串的截取(section)

2.18 字符串的裁剪(fill)

2.19 字符串的简化(simplified,trimmed)

2.20 分隔字符串 (split)

2.22 字符串------>数(toDouble,toInt......)

2.23 数------>QString字符串(setNum,number)

2.24 字符串的大小写转换(toLower,toUpper)

2.25 其他(at,begin,end,isEmpty,isNull,clear)

3. 字符串的重载



1.Detailed Description(详细描述)

①、首先QString字符串类是提供的基于Unicode的字符串。QString存储一个16位的QChar字符串,每个QChar对应一个Unicode 4.0字符,占用两个字节。②、同时,QString采取了implicit sharing(隐式共享)的技术(copy-on-write写时拷贝),这样可以减少内存的使用,避免不必要的复制数据。

QString的常用操作大致包括字符串类对象的构造

2.
Public Functions 公有的函数

2.1 类对象的构造

QString()           // 构造一个空串(null string)
QString(const QChar *unicode, int size = -1) // 构造QString类以QChar数组,以‘\0’为结尾
QString(QChar ch)  // 以一个QChar字符构造QString
QString(int size, QChar ch) // 以size个QChar字符构造QString类
QString(QLatin1String str)  //使用str(单字节编码)构造QString
QString(const QString &other)  // 使用其他的QString类other构造改QString类
QString(const char *str)       // 使用字符数组构造QString类
QString(const QByteArray &ba)  //使用字节数组ba构造QString类

下面对上面的构造函数中一些常用的进行示例:

1、构造函数--->QString::QString(const QChar *unicode, int size = -1)
示例:const QChar str[] = {'D','a','e','m','o','n','\0'}  ;QString s(str) ;qDebug() << s ;

2、构造函数--->QString::QString(int size, QChar ch)
示例:
QChar qc('q') ;
QString qs( 6 , qc );
qDebug() << qs ;

3、构造函数--->QString::QString(QLatin1String str)
示例:QLatin1String ql("QLatin1String") ;QString qs( ql );qDebug() << qs ;

4、构造函数--->QString::QString(const char *str)
示例:const char str[] = " Daemon";QString s( str ) ;qDebug() << s ;

 

5、构造函数--->QString::QString(const QByteArray &ba)
示例:const QByteArray ba("Hello DataBase") ;QString s( ba ) ;qDebug() << s ;

 

2.2 追加字符串(前追加prepend or push_front和后追加append or push_back)

QString s(" Qt ") ;   // s = " Qt "
const QChar str[] = {' ','e','x','a','m','p','l','e','\0'}  ;
s.append(str,8) ;     // s = “Qt  example”
s += " is";           // s = “Qt  example is ”
s.push_back(" innovative"); // s =  “Qt  example is innovative"
s.push_front("Daemon ") ;   // s =  "Daemon  Qt  example is innovative"
qDebug() << s ;

2.3 组合字符串(arg)

 
1、QString arg(const QString &a,int fieldWidth = 0,QChar fillChar = QLatin1Char(' ')) const
注释:如果后两个参数按照默认的设置,函数的功能将First, arg(i) replaces %1. Then arg(total) replaces %2.Finally, arg(fileName) replaces %3.以此类推。(numbers must be in the range 1 to 99.)
示例:QString i(QString::number(007));QString total("series");QString fileName("Movies ");QString status = QString("%1 is %2 of %3").arg(i).arg(total).arg(fileName);qDebug() << status ;

但是仔细研究帮助文档的话,里面可以挖掘出额外的东西出来,见下:

2、QString arg(const QString &a,int fieldWidth = 0,QChar fillChar = QLatin1Char(' ')) const
第二个参数fieldWidth指定参数a应占用的最小空间量,如果a需要的空间小于fieldWidth,则使用字符fillChar填充到fieldWidth。
fieldWidth为正值时产生右对齐的文本。
fieldWidth为负值时产生左对齐的文本。
默认填充fillChar为空格,可自定义填充QChar字符。QString para1("Git");QString para2("GitHub");QString para3("Better Study Heaven");QString status = QString("%1 and %2 is %3").arg(para1 , -5 , QChar('a') ).arg( para2 , 8 , QChar('b') ).arg( para3 , -para3.length()-5 ) ;qDebug() << status ;

 

3、QString arg(int a,int fieldWidth=0,int base = 10,QChar fillChar= QLatin1Char(' '))const
注释:此重载函数较前面的函数多路一个参数base,默认为10.其值必须在2~36
(which is 10 by default and must be between 2 and 36.),
其功能用于声明第一个参数a需要以base进制进行输出显示。
示例:
QString para1("65535");QString para2(" hexadecimal number ");QString status = QString("%1 and %2 is %3").arg(para1).arg( para2 ).arg( 65535 , 0 , 16 ) ; //将65535以16进制显示qDebug() << status ;

2.4 字符串的裁剪(chop,truncate,resize,remove)

void QString::chop(int n)
解释:从字符串末尾删除n个字符。如果n大于或等于size(),则结果为空字符串;如果n是负数,它就等于0
示例:QString qs("GitHub");QString qs1("GitHub");QString qs2("GitHub");qs.chop(3) ; qs1.chop(8);qs2.chop(-3);qDebug() << "qs = "<<qs<<"qs 1=   "<<  qs1<< "  qs2 =   "<<qs2 ;

void QString::truncate(int position)
解释:截断给定位置索引处的字符串,如果指定的位置索引在字符串的末尾之外,则什么也不会发生。
相当于从开始字符出,截取position个字符,组成一个字符串。
示例:QString qs("GitHub");QString qs1("GitHub");qs.truncate(5);  qs1.truncate(9);qDebug() << "qs = "<<qs<<"qs 1=   "<<  qs1 ;

 

void QString::resize(int size)
解释:将字符串的大小设置为size个字符的大小。
示例:QString qs("GitHub");qs.resize(5);qDebug() << "qs = "<<qs;

 

QString &QString::remove(int position, int n)
解释:从给定的position位置索引开始,从字符串中删除n个字符,并返回对该字符串的引用
示例:QString qs("GitHub");qDebug() << qs.remove(4,1 ) ;

 

2.5 字符串的比较(compare,constData)

int QString::compare(const QString &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
解释:比较这个字符串和另一个字符串other,如果这个字符串小于、等于或大于另一个字符串,则返回一个小于、等于或大于零的整数。
(从第一个字符开始,一个一个字符进行对比)
第二个参数为是否区分大小写敏感的布尔量,
设置Qt::CaseInsensitive为大小写不敏感,设置Qt::CaseSensitive为大小写敏感
示例:
QString qs("GitHub") ;qDebug() << qs.compare("Git") << "  " <<qs.compare("GitHub")<<" " << qs.compare("gitHub",Qt::CaseInsensitive) <<"  "                             <<qs.compare("gitHub",Qt::CaseSensitive);

const QChar *QString::constData() const
解释:返回一个指向存储在QString中的数据的指针。指针可用于访问组成字符串的字符。为了方便起见,数据以“\0”结尾。
注:注意,只有在字符串没有修改的情况下,指针才有效。
示例:
QString qs("GitHub") ;qDebug() << *qs.constData()<< " "<< *( qs.constData() + 3 );

2.6 判断字符串是否存在(contains)

bool QString::contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
解释:如果此字符串包含字符串str的出现,则返回true;否则返回false。
如果cs是Qt::CaseSensitive(默认),则搜索是大小写敏感的;否则,搜索不区分大小写。
示例:
QString qs("GitHub") ;qDebug() << qs.contains("thU",Qt::CaseInsensitive ) <<"  "                    << qs.contains("thU",Qt::CaseSensitive ) ;

2.7 判断字符串出现的次数(count)

int QString::count(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
解释:返回字符串str在该字符串中(可能重叠的)出现的次数
如果cs是Qt::CaseSensitive(默认),则搜索是大小写敏感的;否则,搜索不区分大小写。
示例:QString qs("GitHub and git is a Better heaven,we can use Git bash in computer Deskop!") ;qDebug() << qs.count("git",Qt::CaseInsensitive ) <<"  "<<qs.count("git",Qt::CaseSensitive ) ;

2.8 字符串的大小长度(count,size,length)

int QString::count() const    //返回此字符串中的字符数。
int QString::size() const     //返回此字符串中的字符数。
int QString::length() const   //返回此字符串中的字符数。
示例:QString qs("GitHub and git is a Better heaven,we can use Git bash in computer Deskop!") ;qDebug() << qs.count() << " " <<qs.length()<<"  "<<qs.size() ;

QChar *QString::data()
解释:返回一个指向存储在QString中的数据的指针。该指针可用于访问和修改组成字符串的字符。为了方便起见,数据以“\0”结尾。
示例:QString str = "GitHub";QChar *data = str.data();while (!data->isNull()) {qDebug() << *data;++data;}

 

2.9 判断字符串是否以某一个子串开始(startsWith)

bool QString::startsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
示例:QString str = "Bananas";str.startsWith("Ban");     // returns truestr.startsWith("Car");     // returns false

2.11 查找字符串获取第一次出现位置索引(indexof)

bool QString::endsWith(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
解释:如果字符串以s结尾,则返回true;否则返回false。
如果cs是Qt::CaseSensitive(默认),则搜索是大小写敏感的;否则,搜索不区分大小写。
示例:QString qs("GitHub") ;qDebug() << qs.endsWith("hUB",Qt::CaseInsensitive ) <<"  "            << qs.endsWith("hUB",Qt::CaseSensitive ) ;

2.12 查找字符串获取最后一次出现位置索引(lastIndexof)

int QString::lastIndexOf(const QString &str, int from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
解释:返回此字符串中字符串str的最后一次出现的索引位置,从索引位置回溯搜索。如果from是-1(默认值),搜索从最后一个字符开始;如果from是-2,则在倒数第二个字符处,依此类推。如果没有找到str,则返回-1。
如果cs是Qt::CaseSensitive(默认),则搜索是大小写敏感的;否则,搜索不区分大小写。
示例:QString qs("GHubgithub!") ;qDebug() <<qs.lastIndexOf("hub",0) <<"   "<< qs.lastIndexOf("hub",-1)<<" "<<qs.lastIndexOf("hub",5) ;qDebug() <<qs.lastIndexOf("hub",0,Qt::CaseInsensitive) <<"   "<< qs.lastIndexOf("hub",-1,Qt::CaseInsensitive)<<" "<<qs.lastIndexOf("hub",5,Qt::CaseInsensitive) ;

2.13 字符串的插入(insert,left,leftJustified,rightJustified)

QString &QString::insert(int position, const QString &str)
解释:在给定的索引位置插入字符串str并返回对该字符串的引用。
示例:QString qs("GitHub") ;qDebug() << qs.insert( 3 , QString(" Qt::CaseInsensitive ") ) ;

QString QString::left(int n) const  // 返回最左边数,包含n个字符的一个子串
QString right(int n) const          // 返回最右边数,包含n个字符的一个子串
示例:QString qs(" GitHub ") ;qDebug() << qs.left(3) <<"  "<<qs.right(4);

 

QString QString::leftJustified(int width, QChar fill = QLatin1Char( ' ' ), bool truncate = false) const
解释:返回一个大小为width的字符串,该字符串包含由填充字符填充的字符串。左对齐
第三个参数为是否需要截断使能位;
如果truncate为false且字符串的size()大于宽度,则返回的字符串是该字符串的副本
如果truncate为真且字符串的size()大于宽度,则删除位置宽度之后的字符串副本中的任何字符,并返回副本。
示例:QString qs("GitHub") ;qDebug()<<qs.leftJustified(10,'*') <<" "<<qs.leftJustified(2,'*',false)<<"  "<<qs.leftJustified(2,'*',true);QString QString::rightJustified(int width, QChar fill = QLatin1Char( ' ' ), bool truncate = false) const
解释:返回一个大小为width的字符串,该字符串包含由填充字符填充的字符串。右对齐
第三个参数为是否需要截断使能位;
如果truncate为false且字符串的size()大于宽度,则返回的字符串是该字符串的副本
如果truncate为真且字符串的size()大于宽度,则删除位置宽度之后的字符串副本中的任何字符,并返回副本
示例:QString qs("GitHub") ;qDebug()<<qs.rightJustified(10,'*')<<" "<<qs.rightJustified(2,'*',false)<<"  "<<qs.rightJustified(2,'*',true);

 

2.14 字符串的分割(mid)

QString QString::mid(int position, int n = -1) const
解释:返回一个包含该字符串的n个字符的字符串,从指定的位置索引开始分割。
示例:QString qs("GitHub") ;qDebug() << qs.mid(3,2) <<" "<<qs.mid(5);

2.15 字符串的删除(remove)

QString &QString::remove(int position, int n)
解释:从给定的位置索引开始,从字符串中删除n个字符,并返回对该字符串的引用。
如果指定的位置索引在字符串中,但是位置+ n超出了字符串的结尾,则字符串将在指定的位置截断。
示例:QString qs("GitHub.com") ;qDebug() << qs.remove(1,3) ;qDebug() <<qs.remove(2,8)  ;

QString &QString::remove(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive)
解释:删除该字符串中给定str字符串的所有匹配项,并返回该字符串的引用。
如果cs是Qt::CaseSensitive(默认),则搜索是大小写敏感的;否则,搜索不区分大小写。
示例:QString qs("GitHub.com+git.COM") ;QString qs1("GitHub.com+git.COM") ;qDebug() << qs.remove("git",Qt::CaseSensitive) ;qDebug() << qs.remove("git",Qt::CaseInsensitive) ;

 

2.16 字符串的替换(replace)

QString &QString::replace(int position, int n, const QString &after)
解释:将从索引位置开始的n个字符替换为后面的字符串,并返回对该字符串的引用。
示例:QString qs("GitHub.com") ;qDebug() << qs.replace( 1 , 3 , " Daemon " ) ;

2.17 字符串的截取(section)

QString QString::section(QChar sep, int start, int end = -1, SectionFlags flags = SectionDefault) const
解释:这个函数返回字符串的一部分。
该字符串被视为由字符sep分隔的字段序列。返回的字符串包含从位置开始到位置结束的字段
如果没有指定end,则包含从位置开始到字符串结束的所有字段
字段的编号为0、1、2等,从左开始计数,而-1、-2等,从右到左计数。
如果start或end是负数,我们从字符串的右边开始计算字段,最右边的字段是-1,最右边的字段是-2,以此类推。
第四个参数可以设置是否区分大小写,是否跳过空字段,如何处理前置和后置分隔符;
示例:QString str;QString csv = "forename,middlename,surname,phone";QString path = "/usr/local/bin/myapp"; // First field is emptyQString::SectionFlag flag = QString::SectionSkipEmpty;str = csv.section(',', 2, 2);        // str == "surname"str = path.section('/', 3, 4);       // str == "bin/myapp"str = path.section('/', 3, 3, flag); // str == "myapp"str = csv.section(',', -3, -2);      // str == "middlename,surname"str = path.section('/', -1);         // str == "myapp"
第四个参数详解:
QString::SectionDefault //计算空字段
QString::SectionSkipEmpty //将空字段视为不存在的字段
QString::SectionIncludeLeadingSep //在结果字符串中包含前导分隔符(如果有)
QString::SectionIncludeTrailingSep //在结果字符串中包含尾随分隔符(如果有)
QString::SectionCaseInsensitiveSeps // 不区分大小写地比较分隔符

2.18 字符串的裁剪(fill)

QString &QString::fill(QChar ch, int size = -1)
解释:将字符串中的每个字符设置为字符ch。如果大小不同于-1(默认值),则预先将字符串调整为size大小。
示例:QString qs("GitHub") ;QString qs1("GitHub") ;qDebug() << qs.fill(QChar('t')) <<" "<<qs.fill(QChar('t') , 3) ;

2.19 字符串的简化(simplified,trimmed)

QString QString::simplified() const
解释:返回一个字符串,该字符串已从开始和结束处删除空白,并将每个内部空白序列替换为单个空格
空白序列包括ASCII字符“\ t”, ' \ n ', ' \ v ', ' \ f ', ' \ r ',和' '。
示例:QString str = "  lots\t of\nwhitespace\r\n ";str = str.simplified();// str == "lots of whitespace";
QString QString::trimmed() const
解释:返回一个字符串,该字符串已从开始和结束处删除空白。
与simplified()不同,trim()只保留内部空白序列。
示例:QString str = "  lots\t of\nwhitespace\r\n ";str = str.trimmed();// str == "lots\t of\nwhitespace"

2.20 分隔字符串 (split)

 
QStringList 
split(const QString &sep, SplitBehavior behavior = KeepEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
解释:在sep发生的地方将字符串分成子字符串,并返回这些字符串的列表。如果sep与字符串中的任何地方不匹配,split()将返回一个包含该字符串的单元素列表。
参数cs指定sep是区分大小写的匹配还是区分大小写的不匹配。
如果behavior是QString::SkipEmptyParts,则结果中不会出现空条目。默认情况下,KeepEmptyParts将保留空条目
示例:QString str = "I:/Qt/Qt5.8.0/5.8/Sr/qtcharts/src";QStringList list = str.split( "/");for( quint8 i = 0 ; i < list.length() ; i ++)qDebug() << "list[ "<<i<<"] = " << list[i];

2.22 字符串------>数(toDouble,toInt......)

double QString::toDouble(bool *ok = Q_NULLPTR) const  // 字符串----->浮点数
解释:将一个字符串转换为一个double值,如果转换失败,则返回0.0
如果发生转换错误,*ok设置为false;否则*ok设置为true
示例:bool ok  ;QString str = "1234.56";qDebug() << str.toDouble( &ok ) ;qDebug() << ok ;int QString::toInt(bool *ok = Q_NULLPTR, int base = 10) const   // 字符串----->整数
示例:QString str = "FF";bool ok;int hex = str.toInt(&ok, 16);       // hex == 255, ok == trueint dec = str.toInt(&ok, 10);       // dec == 0, ok == false

2.23 数------>QString字符串(setNum,number)

QString &QString::setNum(int n, int base = 10)
解释:将数转换为字符串类,第二个参数为需要设置为目标数需要显示的进制类型,默认为十进制
示例:QString str;str.setNum( 65536 ) ;QString str1 ;str1.setNum( 65535 , 16 ) ;qDebug() << str <<"    "<< str1 ;

[static] QString QString::number(int n, int base = 10)
示例:QString qs ;qs= qs.number( 10 ,10 ) ;QString qs1 ;qs1= qs1.number( 10 ,16 ) ;qDebug() << "qs = "<<qs <<"qs1 = "<<qs1 ;

 

2.24 字符串的大小写转换(toLower,toUpper)

QString QString::toLower() const  // 将该字符串中的字符全部转换为小写
QString toUpper() const           // 将该字符串中的字符全部转换为大写
示例:
QString str = "I:/Qt/Qt5.8.0/5.8/Sr/qtcharts/src";
qDebug() << str.toLower() << "  " << str.toUpper() ;

2.25 其他(at,begin,end,isEmpty,isNull,clear)

const QChar at(int position) const
解释:返回字符串中给定索引位置的字符
该位置必须是字符串中的有效索引位置(即, 0 <= position < size())。
QString para2("GitHub");for(quint8 i = 0 ;i<para2.length();i++)qDebug() << i << " = " << para2.at(i);

iterator QString::begin()
解释:返回一个指向字符串中第一个字符的(指针)
示例:
QString para2("GitHub");
qDebug() << *(para2.begin()) << "   "<<*(para2.begin() + 3);iterator QString::end()
解释:返回指向字符串中最后一个字符后的虚构字符的指针。
示例:
QString para2("GitHub");
qDebug() << *(para2.end() - 1 ) << "   "<<*(para2.end() - 3);

 

int QString::capacity() const
解释:返回可以存储在字符串中的最大字符数。(一般来说,你很少需要调用这个函数)
bool QString::isNull() const   //如果此字符串为空,则返回true;否则返回false。
bool QString::isEmpty() const  //如果字符串没有字符,则返回true;否则返回假
void QString::clear()          //清除字符串的内容并使其为空
示例:QString qs("GitHub") ;qDebug() << qs.isEmpty() <<"    " << qs.isNull() ;qs.clear();qDebug() << qs.isEmpty() <<"    " << qs.isNull() ;    

3. 字符串的重载

// QString 中实现了大量的操作符重载,可以方便我们进行正常的比较等。以下简单的列举几个:
QString & operator+=(const QString &other)
bool operator>(const char *other) const
示例:
QString str = "I" ;
str = str + "Want "+"shang"+"tian" ;
qDebug()  <<str <<   "   "<< ( str >"a" ) ;

本文系转载,如有侵权,请联系本人,谢谢!!!


http://chatgpt.dhexx.cn/article/bWO8YWfZ.shtml

相关文章

QString类详解

文章目录 一、简要介绍1.1 隐式共享 二、常用方法2.1 常用构造函数2.2 字符串与数值之间的转换2.3 添加字符串2.4 大小写转换2.5 长度2.6 其他常用函数 一、简要介绍 在Qt中表示字符串的类是QString类&#xff0c;它存储字符串是采用的Unicode码&#xff0c;编码方式是使用UTF…

QString(详解)

目录 一、QString转char* 二、合并字符串 三、分割字符串 split()函数 mid(pos,n)函数 QString::section truncate(int)函数&#xff0c;从指定位置截断字符串str 四、去除字符串两端的空白 QString::trimmed()函数 QString::simplified()函数 五、查找是否包含字符…

Java——JLabel自动换行问题

┏(ω)☞ 本专栏的目录&#xff08;为您提供更好的查询方式&#xff09;&#xff08;点这里说不定有你想要的&#xff09; JLabel类可显示文本&#xff0c;一般直接添加文字会导致如下问题&#xff08;字体显示不全&#xff09;&#xff0c;在不同过增加文本框的长度的情况下可…

JLabel展示文本和图片

JLabel 构造方法 JLabel&#xff08;&#xff09;创建一个不含图像&#xff0c;不含文本的 JLabel 对象 JLabel&#xff08;String text&#xff09;使用指定的文本创建一个 JLabel 对象 JLabel&#xff08;Icon image&#xff09;创建一个具有指定图像的 JLabel 对象 pack…

java设置JLabel字体字号颜色

JLabel jl; Font f new Font("宋体",Font.PLAIN,16); jl.setFont(f); jl.setForeground(Color.red); 效果图&#xff1a;

JLabel设置背景颜色和设置文字颜色

JLabel设置背景颜色&#xff1a; JLabel light1 new JLabel("wuli"); light1.setOpaque(true); //此句是重点&#xff0c;设置背景颜色必须先将它设置为不透明的&#xff0c;因为默认是透明的。。。 light1.setBackground(Color.GREEN); JLabel设置文字颜色&…

【Java|Swing】关于JLabel换行

最近在用Swing做Windows的窗口程序&#xff0c;在使用JLabel时发现使用\n没办法换行&#xff0c;于是乎借助百度一下弄懂了JLabel是如何实现换行的。 先可以看一下使用\n的效果 JLabel labelnew JLabel("数据版本\nv1.0.0"); 运行测试 很明显&#xff0c;换行失败了…

初识JFrame、JPanel、JLabel

JFrame&#xff1a;java图形化界面设计&#xff0c;是一个顶层的框架类&#xff0c;相当于容器。好比一个窗户的框子&#xff0c;这个框子可以嵌入几个玻璃窗。 JPanel&#xff1a;也是一个容器类&#xff0c;相当于一个大玻璃窗。 JLabel&#xff1a;是一些基础组件&#xff0…

JFrame,JPanel,JLabel详解

JFrame是一个顶层的框架类&#xff0c;好比一个窗户的框子。也是一个容器类。这个框子可以嵌入几个玻璃窗。 JPanel是一个容器类&#xff0c;相当于一大玻璃窗。 JLabel等是一些基础组件&#xff0c;它必须置于某个容器里&#xff0c;类似于窗花、剪纸&#xff0c;必须置于窗户…

Java图形界面之JFrame,JLabel,JButton

Java图形界面之JFrame&#xff0c;JLabel&#xff0c;JButton 前言 ​ Java第一卷​ 图形界面第一节 JFrame package Demo03;import javax.swing.*; import java.awt.*;public class JFrame01 {public static void main(String[] args) {JFrame f new JFrame("第一个Swi…

Java GUI编程4---标签组件JLabel

1. 认识JLabel JLabel组件表示的是一个标签&#xff0c;本身是用于显示信息的&#xff0c;一般情况下是不能直接更改器显示内容的。创建完的Label对象可以通过Container类中的add()方法&#xff0c;加入到容器中&#xff0c;JLabel类的常用方法和常量如下表所示。 序号常量描…

JLabel标签较为常见部分的使用方法

本篇文章将会教会大家如何使用JLabel 1添加JLabel //创建一个标签 JLabel jLabel new JLabel("Hi,我是标签"); //添加到面板 Jpanel1.add(jLabel); //将面板添加到窗口 jFrame.add(Jpanel1);2设置文本颜色 //设置文本颜色 jLabel.setForeground(Color.green);3设…

Java基础-JLable组件、文本框组件、JPanel轻量级容器、Swing事件处理三种方式、适配器

1、JLable标签组件 标签是一种可以包含文本和图片的非交互组件&#xff0c;其文本可以是单行文本&#xff0c;也可以是 HTML 文本。对于只包含文本的标签可以使用 JLabel 类&#xff0c;该类的主要构造方法有如下几种形式。 JLabel()&#xff1a;创建无图像并且标题为空字符串…

06.JavaSwing(基础组件——JLabel类)

软件界面是软件和用户之间的交流平台&#xff0c;而组件则是绘制软件界面的基本元素&#xff0c;是软件和用户之间的交流要素。 一、概述 JLabel组件用来显示文本和图像&#xff0c;可以只显示其一种&#xff0c;也可以同时显示。JLabel类提供了一些列用来设置标签的方法。 二…

从DTW到DILATE---时序预测损失函数总结

时间序列预测损失函数 时间序列预测是指通过分析历史数据来预测未来数据的变化趋势。时间序列预测在许多领域都有着广泛的应用&#xff0c;例如金融、气象、交通等。为了能够准确预测未来数据&#xff0c;时间序列预测中损失函数的选择非常关键。损失函数的选择直接影响模型的…

DTW算法——matlab实现(二)

DTW算法——Matlab实现 本文只是简单的介绍DTW算法的目的和实现。具体的DTW可以参考一下文献&#xff1a; 离散序列的一致性度量方法&#xff1a;动态时间规整&#xff08;DTW&#xff09; http://blog.csdn.net/liyuefeilong/article/details/45748399 动态时间归整/规整/弯曲…

【时间序列】DTW算法详解

作者 | 追光者 研究 | 机器学习与时间序列 出品 | AI蜗牛车 1.DTW 1.1 时序相似度 在时间序列数据中&#xff0c;一个常见的任务是比较两个序列的相似度&#xff0c;作为分类或聚类任务的基础。那么&#xff0c;时间序列的相似度应该如何计算呢&#xff1f; “ 经典的时间序列相…

学习dtw-python库内容 动态弯曲距离(DTW)具体实现

文章目录 一、install 数据包二、函数功能三、函数的参数以及含义四、具体实现 一、install 数据包 简单的pip install一下就好了&#xff0c;注意最后提示Successfully installed dtw-python-1.3.0 pip install dtw-python二、函数功能 执行 DTW 算法&#xff0c;并计算两个…

DTW距离

DTW&#xff08;dynamic-time-wraping&#xff09; 当两个时间序列等长时&#xff0c;我们可以使用欧氏距离来度量两者的相似性。但是当两个时间序列不等长时&#xff0c;欧氏距离就难以度量两者的相似性了。因此&#xff0c;国外学者提出了动态时间弯曲距离(Dynamic time war…

【时间序列】动态时间规整(DTW)算法简介(python)

简介 动态时间规整&#xff1a;(Dynamic Time Warping&#xff0c;DTW) 定义&#xff1a;用于比较不同长度的两个数组或时间序列之间的相似性或计算两者间的距离。 例1&#xff1a;a [1,2,3],b[3,2,2] 例2&#xff1a;a[1,2,3],b[2,2,2,3,4] 例1好计算&#xff0c;但对于例2&am…