1. 表格中插入combobox以及文本居中的问题
网上查了好多资料都说很麻烦难实现,干脆自己写,其实也就那么几行!
void add_combobox(QTableWidget *table, int row, int column, QStringList textList, int currentIndex)
{
QComboBox *combox = new QComboBox(); // 下拉选择框控件
combox->setStyleSheet("color:#DCDCDC; background:#3C3C3C"); // 设置样式
for (int i=0; i<textList.size(); i++)
{
QString text = textList.at(i);
int spaceCount = (table->columnWidth(column) - text.length()*6)/2/6; // 字体宽度6
for (int i=0; i<spaceCount; i++)
{
text = " "+text; //根据列宽补充空格,实现文本居中的效果
}
combox->addItem(text);
}
combox->setCurrentIndex(currentIndex);
table->setCellWidget(row, column, (QWidget*)combox);
}
效果图: