windows 编译 deepin-calculator 分析

 

不知道 为什么 

CONFIG += c++11 link_pkgconfig
PKGCONFIG += dtkwidget

这里找不到头文件 也许 pkgconfig 没有正确安装

所以使用 

在pro 追加 

QT +=  dtkcore dtkwidget 


解决头文件问题 因为之前编译dtk 是静态编译 这里需要加入 

!isEmpty(DTK_STATIC_LIB){
    DEFINES += DTK_STATIC_LIB
}
注释这句
#!system($$PWD/translate_generation.sh): error("Failed to generate translation")
qmake 加入 DTK_STATIC_LIB=YES

编译遇到错误

在iconbutton.cpp 中 发现windows 平台

DSvgRenderer 没有 toImage 函数 dtkWIDGET svg转QImage 使用了 librsvg  cairo 做渲染用 我们去除
void IconButton::setIconSize(const int &size)
{
    const int scaledSize = size * devicePixelRatioF();
    const QSize iconSize(scaledSize, scaledSize);
#ifdef Q_OS_LINUX
   const QImage image = m_iconRenderer->toImage(iconSize);
#else
   // QImage image(iconSize, QImage::Format_ARGB32);
   // image.fill(0x0);
    //两种都行看不出区别
    QImage image(iconSize, QImage::Format_ARGB32_Premultiplied);
    image.fill(Qt::transparent);
    QPainter painter(&image);
    m_iconRenderer->render(&painter);
#endif

最终编译成功 效果

简单的看了一下 这 计算器 dtk windows作用不是很大 DApplication   最终样式还是读取自己的,加载主题通知一下dtk 应该是为了 跟linux 下 x11 dbus通讯让桌面环境修改标题栏 样式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值