找回密码
 立即注册
收起左侧

QComboBox下拉框中文字怎么居中?

2
回复
13004
查看
[复制链接]
累计签到:467 天
连续签到:1 天
来源: 2016-9-4 08:42:48 显示全部楼层 |阅读模式
5Qter豆
在qt中,怎么样把QcomboBox的下拉框的文字居中?

最佳答案

查看完整内容

这是个很坑的问题,我谷歌了好长时间,最后在github别人的代码里找到的。应该算是偏方,但是好用。 m_comboBox->setView(new QListView()); //这个方法很强大 m_comboBox->lineEdit()->setReadOnly(true); //设为不可编辑 QFont fontle; fontle.setFamily(tr("宋体")); fontle.setPixelSize(12); // 设了字体 m_comboBox->lineEdit()->setAlignment(Qt::AlignCenter); // 这是QComboBox里面的文字居中 ...
回复

使用道具 举报

累计签到:6 天
连续签到:1 天
2016-9-4 08:42:49 显示全部楼层
这是个很坑的问题,我谷歌了好长时间,最后在github别人的代码里找到的。应该算是偏方,但是好用。
    m_comboBox->setView(new QListView()); //这个方法很强大
    m_comboBox->lineEdit()->setReadOnly(true); //设为不可编辑
    QFont fontle;
    fontle.setFamily(tr("宋体"));
    fontle.setPixelSize(12); // 设了字体
    m_comboBox->lineEdit()->setAlignment(Qt::AlignCenter);  // 这是QComboBox里面的文字居中
    for (int i = 0; i < m_comboBox->count(); ++i) {  // 这是QComboBox下拉框的文字居中
        m_comboBox->setItemData(i, fontle, Qt::FontRole); //我还加了字体,同理,只对下拉框有效
        m_comboBox->setItemData(i, Qt::AlignCenter, Qt::TextAlignmentRole); //居中
    }
主要就是在QComboBox直接加入一种类似模型的Listview。
回复

使用道具 举报

累计签到:3 天
连续签到:1 天
2017-4-10 12:39:37 显示全部楼层
nanjo 发表于 2016-9-4 08:42
这是个很坑的问题,我谷歌了好长时间,最后在github别人的代码里找到的。应该算是偏方,但是好用。
    m_ ...

那如果是单纯的图片item的话 该如何去做
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了