300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > QT操作word表格——垂直居中 水平居中

QT操作word表格——垂直居中 水平居中

时间:2019-06-20 18:18:35

相关推荐

QT操作word表格——垂直居中 水平居中

说明:网上大部分是水平居中,基本没有找到QT的垂直居中,查了好多资料才实现了垂直居中。

函数调用:垂直居中、水平居中

word.setRowAlignment(1,1,0);//第一个表格,第一行,居中

主要是这句话:

range->querySubObject(“ParagraphFormat”)->setProperty(“Alignment”,“wdAlignParagraphCenter”);//水平居中

range->querySubObject(“Cells”)->setProperty(“VerticalAlignment”,“wdCellAlignVerticalCenter”);//垂直居中

函数定义

void QWord::setRowAlignment(int tableIndex,int row,int flag){ QAxObject* tables = m_document->querySubObject("Tables");if(nullptr== tables){return;}QAxObject* table = tables->querySubObject("Item(int)",tableIndex);if(nullptr== table ){return;}QAxObject* Row= table->querySubObject("Rows(int)",row);if(nullptr== Row){return;}QAxObject* range = Row->querySubObject("Range");if(nullptr== range){return;}Row->querySubObject("Alignment(int)",flag);if(flag == 0){// Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter// Selection.Range.Cells.VerticalAlignment = wdCellAlignVerticalCenter 就是在网上找到的这句话,才修改成以下代码range->querySubObject("ParagraphFormat")->setProperty("Alignment","wdAlignParagraphCenter");//水平居中range->querySubObject("Cells")->setProperty("VerticalAlignment","wdCellAlignVerticalCenter");//垂直居中}else if(flag == 1){range->querySubObject("ParagraphFormat")->setProperty("Alignment","wdAlignParagraphJustify");}else if(flag == 2)//wdAlignParagraphJustifyMed{range->querySubObject("ParagraphFormat")->setProperty("Alignment","wdAlignParagraphRight");}else if(flag ==3){range->querySubObject("ParagraphFormat")->setProperty("Alignment","wdAlignParagraphLeft");}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。