QT开发之小知识点

1、uint8_t转QString

QString add;

uint8_t  uuuu[10] = {0x12,0x56.....}

add = (char *)uuuu;

或者

char* a = (char*)uuuu;

add= a;

2、单精度或是双精度数据在进行运算时丢失精度的问题

运算过程中都要使用单精度或是双精度,结果也用单精度或是双精度保存,然后再使用强制转换符转换为整型

3、QString和QUrl互转

#include <QUrl>

QString m_string ;

QUrl m_url  = "://wwwwww";

m_string  = m_url.toString();//url转换QString

QUrl m_url(m_string);//QString转换url

3、设置只能同时运行一个实例exe

在mian中添加

#include <QSharedMemory>



int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    //添加
QSharedMemory shared("exe在项目管理器中的名称");
    if(shared.attach())//共享内存被占用则直接返回
    {
        QMessageBox::information(NULL,QStringLiteral("Warning"),QStringLiteral("Application is alreadly running!"));
        return 0;
    }
    shared.create(1);//共享内存没有被占用则创建UI


    MainWindow w;
    w.Show();
    return a.exec();

}

4、四舍五入问题

qRound(float);//转换为最靠近的整数

比如:qRound(1.3);//1

qRound(1.7);//2

5、QString操作

QString.left(int n)//返回最左边n个字符,n大于最大值获取小于0,返回整个字符串
QString.right(int n)//最右边同上
QString.mid(int a, int b)//从第a个字符开始位置的b个字符
//判断结尾字符串是否是
QString str = "Bananas"; 
str.endsWith("anas");         // returns true 
str.endsWith("pple");         // returns false
 

6、修改生成的exe名称和任务栏上面名称

在pro中修改

TARGET = $$quote(exe名称)

沟站函数中添加

this->setWindowTitle(exe名称);   //设置标题框文本

7、设置圆角对话框并为模态对话框

loaddlg = new loaddialog(this);
loaddlg->resize(447,243);//大小
loaddlg->show();//中间显示


this->setWindowFlag(Qt::FramelessWindowHint);//去掉标题栏
this->setWindowModality(Qt::WindowModal);//半模态对话框
this->setAttribute(Qt::WA_TranslucentBackground);//背景透明

loaddlg = new loaddialog(this);
loaddlg->resize(447,243);//大小
loaddlg->show();//中间显示


this->setWindowFlag(Qt::FramelessWindowHint);//去掉标题栏
this->setWindowModality(Qt::WindowModal);//半模态对话框
this->setAttribute(Qt::WA_TranslucentBackground);//背景透明

8、获取字符串总某个字符后数据

QString mr_path = "123/456/789/azx/cvbn/mkoiuhn";
int first = mr_path.lastIndexOf ("/");
QString path = mr_path.right (mr_path.length ()-first-1);//path="mkoiuhn"

9、int转枚举类型

int i = 1;
Test val = static_cast<Test>(i);//Test为枚举

10、设置对话框背景

setAttribute(Qt::WA_StyledBackground);

有些需要这行来设置背景接收QSS样式表,才能设置背景图片等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值