qpushbutton设置居中,将QPushButton添加到QTableWidget中的QTableWidgetItem中,如何使其变为Qt :: AlignHCenter...

for(int i=0; i

User user= Poco::AnyCast(*it);

ui.table->setItem(i,0,new QTableWidgetItem(user.userName));

ui.table->setItem(i,1,new QTableWidgetItem(user.sex));

ui.table->setItem(i,2,new QTableWidgetItem(user.age));

QPushButton* btn_edit = new QPushButton();

btn_edit = new QPushButton();

btn_edit->setText("Edit");

ui.table->setCellWidget(i,3,(QWidget*)btn_edit);

++it;

}

I add a QPushButton into the cell with the function setCellWidget(),

I know, if it's a QTableWidgetItem, I can use :

ui.table->item(0,3)->setTextAlignment(QT::AlignHCenter)

But it is a Widget,

QTableWidgetItem item = ui.table->item(0,3);

the item is null.

I can get the cell by use

ui.table->cellWidget(0,3).

How should I do to make the button centered in the cell?

解决方案

Try this:

QWidget* pWidget = new QWidget();

QPushButton* btn_edit = new QPushButton();

btn_edit->setText("Edit");

QHBoxLayout* pLayout = new QHBoxLayout(pWidget);

pLayout->addWidget(btn_edit);

pLayout->setAlignment(Qt::AlignCenter);

pLayout->setContentsMargins(0, 0, 0, 0);

pWidget->setLayout(pLayout);

ui.table->setCellWidget(i, 3, pWidget);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值