|
这是个很坑的问题,我谷歌了好长时间,最后在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。 |
|