人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132, 微信: whycan_cn (哇酷网/挖坑网/填坑网) admin@whycan.cn
离线
源码下载: LittleVGL_qt_ttf_20190521.7z
2019-05-22 更新:
-----------------------------
作者添加 TTF cache功能: LittleVGL_qt_ttf_add_cache_20190522.7z
2019-05-26 更新:
-----------------------------
静态链接的可执行文件: qt-mouse-event-release.7z
Qt5.6.3 编译, WinXP 32bit 应该可以运行: https://whycan.cn/t_2395.html
2019-05-27 更新 (10楼):
-----------------------------
使用cache,不使用操作系统的文件读取功能(需要事先把ttf文件相办法加载到内存中)。
LittleVGL_qt_ttf_add_cache_no_OSFileIO.rar
离线
由 @熊掌 QQ 370537635 原创
由 @熊掌 QQ 370537635 原创
由 @熊掌 QQ 370537635 原创
9楼/10楼的 @OggyJFX 就是作者
商业使用请打赏原创作者
littlevgl 讨论群: 516836432
离线
汉字是什么编码?我用vs编辑器默认utf8不显示。。
离线
UTF-8 编码
离线
作者添加 TTF cache功能: LittleVGL_qt_ttf_add_cache_20190522.7z
离线
字体小的时候,有些时候,上对齐或者下对齐都不大好看 //居中对齐 copy_bitmap(sbit->buffer, sbit->width, sbit->height, sbit->left, (lv_font_ttf.h_px - sbit->height)>>1, sbit->xadvance);这样会好看很多
离线
静态链接的可执行文件: qt-mouse-event-release.7z
Qt5.6.3 编译, WinXP 32bit 应该可以运行: https://whycan.cn/t_2395.html
离线
字体小的时候,有些时候,上对齐或者下对齐都不大好看
//居中对齐
copy_bitmap(sbit->buffer, sbit->width, sbit->height, sbit->left, (lv_font_ttf.h_px - sbit->height)>>1, sbit->xadvance);这样会好看很多
我测了一下, (lv_font_ttf.h_px - sbit->height) 结果是 3, 右移之后计算结果是1, 根本没有改变。
离线
离线
字体小的时候,有些时候,上对齐或者下对齐都不大好看 //居中对齐 copy_bitmap(sbit->buffer, sbit->width, sbit->height, sbit->left, (lv_font_ttf.h_px - sbit->height)>>1, sbit->xadvance);这样会好看很多
这个对齐的问题,是由于lvgl自己的原因。
我为了演示,故意把ttf的字体高度设置成20,添加到一个40的字体后面。lvgl对于不同高度的字体显示的时候,总是上对齐。
如果要改这个问题,只能更改lvgl的源码。
离线
谢谢作者分享。
我试了一下, 模拟器有点bug, 退出窗口(进程)的时候没有先通知 线程退出,
导致出现错误提示:
QThread: Destroyed while thread is still running
Invalid parameter passed to C runtime function.
Invalid parameter passed to C runtime function.
然后我改了一点点:
MainWindow::~MainWindow()
{
gui_thread.exit(0);
Sleep(50);
delete ui;
}
然而还是一样的问题, 跟踪了一下
gui_thread.exit(0);
根本不能这样结束线程.
看来得想别的线程通讯方法才行。
离线
只是退出的时候有点小bug, 但是我有点代码洁癖, 就是忍不住要改, 哈哈!
离线
这个能够自定义字体大小吗 是矢量字体吗 还是做的字体是多大就是多大
离线
这个能够自定义字体大小吗 是矢量字体吗 还是做的字体是多大就是多大
对, 想生成多大就多大, 看下晕哥发的这个帖子就知道了:
https://whycan.cn/t_741.html
离线
字间距貌似有点大,怎么调整?大佬有研究过?
离线
各位大佬,为什么我用官方 VC2017 的demo工程, 借用楼主的代码, 这里输入汉字, 模拟器显示都是框框框呢?
离线
demo.c 文件明明另存为 UTF8 With BOM 了, 但是代码里面的字符串还是 GBK ???
我佛了 ...
离线
https://bianma.supfree.net/chaye.asp?id=6211
https://bianma.supfree.net/chaye.asp?id=601D
通过上面的链接,找到 UTF8 编码, 然后硬编码进去,就正常了。 出一身汗
离线
https://stackoverflow.com/questions/688760/how-to-create-a-utf-8-string-literal-in-visual-c-2008
#pragma execution_character_set("utf-8")
这个挺好用的, 一般人我不告诉他, 斜眼笑.gif
离线
谢谢楼上大神, 果然可以了 ^_^
最近编辑记录 我思故我在 (2019-09-03 16:55:11)
离线
离线
厉害厉害。
离线
好帖,顶一顶。
QThread: Destroyed while thread is still running
15:56:29: 程序异常结束。
这个线程释放问题, 哪位大佬有没有搞定?
离线
我改了一下, 基本没问题了:
lv_thread.h 添加:
public:
bool isrun;
lv_thread.cpp :
void lv_thread::run()
{
isrun = true;
QElapsedTimer timer;
qint64 ms_elapsed;ui_dirty = false;
lv_init();
lv_drv_register();
lv_font_ttf_init();
demo_create();timer.start();
while(isrun)
{
lv_task_handler();
if(ui_dirty)
{
ui_dirty = false;
emit UiUpdate();
}
msleep(1);
ms_elapsed = timer.elapsed();
timer.restart();
lv_tick_inc(ms_elapsed);
}
}
mainwindow.cpp :
MainWindow::~MainWindow()
{
gui_thread.isrun = false;gui_thread.wait(1000000);
delete ui;
}
这样就不会出错了, 窗口退出前, 先退出线程,可能还有别的问题,反正这个问题可以解决了。
离线