设置控件位置的两种方法

方法一:通过 Qt Designer 布局,此方法简单,适合Qt designer 中自带的可视的控件。





方法二:把控件的parent设置为该窗口,并使用 setGeometry() 函数设定位置。此方法适合面广,特别是针对自定义控件,如自定义按钮

void showMenuBtnWidget::setupmenu()
{
    QDialog *dlg = new QDialog;
    setupmenuUI.setupUi(dlg);
    ButtonNoTextWidget *button = new ButtonNoTextWidget("://manu_diskmage.png", false, dlg);
    button->setGeometry(60, 70, 72, 72);

    dlg->exec();
}

注意:在调用 setLayout() 函数,会改变控件位置,因此,像下面这种,就是错误的!

void showMenuBtnWidget::setupmenu()
{
    QDialog *dlg = new QDialog;
    setupmenuUI.setupUi(dlg);
    ButtonNoTextWidget *button = new ButtonNoTextWidget("://manu_diskmage.png");//不指定父窗口,我的控件默认是 parent = 0
    button->setGeometry(60, 70, 72, 72);
  
	QHBoxLayout *layout = new QHBoxLayout(dlg);
    layout->addWidget(button);
    dlg->setLayout(layout);
	
    dlg->exec();
}
setLayout() 会覆盖 setGeometry() 设置的位置!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值