• 7320阅读
  • 4回复

[讨论]关于QTableView的一个问题 [复制链接]

上一主题 下一主题
离线justwake
 

只看楼主 倒序阅读 楼主  发表于: 2013-02-27
就是一个简单的QTableView
代码:


编译没有提示任何错误
在debug模式下运行提示:

在release模式下能够正常运行,但是下面框框内的代码不起作用


网上搜索说是BUG  
http://www.qtforum.org/article/13730/qt-views-asserts.html

但是我发现如果将listView->setModel(...)  放在 setResizeMode前面
debug和release下都不会出现错误  而且setResizeMode功能正常



迷糊了    求指导      。。。。
离线pxiao_xiao

只看该作者 1楼 发表于: 2013-02-27
MVC下  视图 是对应数据模型的  也就是 V与M的相关性   你可以认为Qt在设计的时候 就是这么遵守原则的 必须先加载数据模型 才能定义相应的视图结构  反过来就违反了MVC的原则
离线justwake

只看该作者 2楼 发表于: 2013-02-27
回 1楼(pxiao_xiao) 的帖子
兄台说的有理!再问一个问题:

aa.ttf在程序根目录

QFontDatabase::addApplicationFont(”aa.ttf“);

可是qDebug()  显示的总是-1      
放到资源文件里面是可以显示0

可是 没有效果!

不知和解...
代码:
qDebug()<<QFontDatabase::addApplicationFont(tr(":/aa.ttf"));
    QFont font;
    font.setFamily("aa");
    listView->setFont(font);

可是如果将字体放到windows/font下
使用QFontDialog::getFont  却可以 !
不知和解???
离线pxiao_xiao

只看该作者 3楼 发表于: 2013-02-28
Re:回 1楼(pxiao_xiao) 的帖子
引用第2楼justwake于2013-02-27 17:00发表的 回 1楼(pxiao_xiao) 的帖子 :
兄台说的有理!再问一个问题:
aa.ttf在程序根目录
QFontDatabase::addApplicationFont(”aa.ttf“);
.......

这个 我不知道
但是 看 QFontDatabase的文档说明的Detailed Description的第一句话是这样的:The QFontDatabase class provides information about the fonts available in the underlying window system.
underlying 的中文意思是 含在......内  大概意思 字体应该放在windows的font根目录那
离线justwake

只看该作者 4楼 发表于: 2013-03-01
回 3楼(pxiao_xiao) 的帖子
嗯  确实 是需要放到fonts文件夹下

我用QFile将此字体文件复制到fonts下命名为newfont.ttf
然后使用QFont加载此字体   但是设置不成功
使用QFontDialog::families  查看  里面显示的并不是newfont  二十实际的字体的名称:华康少女文字W5(P)
所以加载字体的时候 需要使用  
font.setFamily(tr("华康少女文字W5(P)"));  这样才起作用
使用font.setFamily(tr(“newfont"));  是不起作用

那么我该怎么通过字体文件获取字体的名称呢?
快速回复
限100 字节
 
上一个 下一个