QT编程,如何把自定义的QWidget的一个派生类放入Qlayout中,不能显示了。

QT编程,如何把自定义的QWidget的一个派生类放入Qlayout中,不能显示了。,第1张

既然是左右排版,就是用水平布局(QHBoxLayout )

QWidget *main_widget = new QWidget

QHBoxLayout *h_layout = new QHBoxLayout

Widget *widget = new Widget

QTreeWidget *tree_widget = new QTreeWidget

h_layout ->addWidget(widget )

h_layout ->addWidget(tree_widget )

main_widget->setLayout(h_layout)

这样不就行了么,再具体调左右控件的大小样式即可,使用很简单,建议你好好看一下Qt的布局管理器。。。

void QGridLayout::addLayout ( QLayout * layout, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment = 0 )

addWidget这个函数有四个int型的参数,row是所在行,column是所在列,rowSpan是行跨度,你想跨两行这个地方设置2,columnSpan这个是列跨度。

求最佳答案

完全没问题啊,我的Qt也是5.3.1,下面代码是在QDialog的构造函数中的,后面的和你的代码完全一样:

    

    QLabel *label1 = new QLabel

    label1->setText("label1")

    QLineEdit *lineEdit = new QLineEdit

    QLabel *label2 = new QLabel

    label2->setText("label2")

    QPushButton *button = new QPushButton

    button->setText("button")

    QGridLayout *mainLayout = new QGridLayout(this)

    mainLayout->addWidget(label1,0,0)

    mainLayout->addWidget(lineEdit,0,1)

    mainLayout->addWidget(label2,1,0)

    mainLayout->addWidget(button,1,1)

这是运行截图:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11198369.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存