QTreeWidget 底部的小面板
Small panel at the bottom of a QTreeWidget
我正在使用 QT 5.4.2 并尝试在底部创建一个小面板
一个子类化的 QTreeWidget。
这是代码:
void HmiScenarioAutoscriptPanel::searchEmitter() {
QWidget *child = new QWidget(ui->emitterTreeWidget);
//QMainWindow* child = new QMainWindow;
QLabel *labelSearch = new QLabel("Search");
QLineEdit *lineSearch = new QLineEdit();
lineSearch->setFixedSize(100, 20);
QHBoxLayout* layout = new QHBoxLayout(ui->emitterTreeWidget);
layout->setAlignment(Qt::AlignBottom);
layout->addWidget(child);
layout->addWidget(labelSearch);
layout->addWidget(lineSearch);
}
标签和搜索字段正确显示在树的底部,
但是字段与树节点重叠(见下图)。
知道为什么会出现这种行为吗?
再见
阿尔夫
不建议在树形控件上设置布局。它就像按钮、标签等其他控件一样。
我看到您正在使用设计器。在树形小部件下添加一个空白小部件(searchWidget
)然后
void HmiScenarioAutoscriptPanel::searchEmitter() {
QWidget *child = new QWidget(ui->searchWidget);
//QMainWindow* child = new QMainWindow;
QLabel *labelSearch = new QLabel("Search", searchWidget);
QLineEdit *lineSearch = new QLineEdit(searchWidget);
lineSearch->setFixedSize(100, 20);
QHBoxLayout* layout = new QHBoxLayout(ui->searchWidget);
layout->setAlignment(Qt::AlignBottom);
layout->addWidget(child);
layout->addWidget(labelSearch);
layout->addWidget(lineSearch);
}
出于好奇,你为什么不使用设计器添加这些?
我正在使用 QT 5.4.2 并尝试在底部创建一个小面板 一个子类化的 QTreeWidget。 这是代码:
void HmiScenarioAutoscriptPanel::searchEmitter() {
QWidget *child = new QWidget(ui->emitterTreeWidget);
//QMainWindow* child = new QMainWindow;
QLabel *labelSearch = new QLabel("Search");
QLineEdit *lineSearch = new QLineEdit();
lineSearch->setFixedSize(100, 20);
QHBoxLayout* layout = new QHBoxLayout(ui->emitterTreeWidget);
layout->setAlignment(Qt::AlignBottom);
layout->addWidget(child);
layout->addWidget(labelSearch);
layout->addWidget(lineSearch);
}
标签和搜索字段正确显示在树的底部, 但是字段与树节点重叠(见下图)。
知道为什么会出现这种行为吗?
再见 阿尔夫
不建议在树形控件上设置布局。它就像按钮、标签等其他控件一样。
我看到您正在使用设计器。在树形小部件下添加一个空白小部件(searchWidget
)然后
void HmiScenarioAutoscriptPanel::searchEmitter() {
QWidget *child = new QWidget(ui->searchWidget);
//QMainWindow* child = new QMainWindow;
QLabel *labelSearch = new QLabel("Search", searchWidget);
QLineEdit *lineSearch = new QLineEdit(searchWidget);
lineSearch->setFixedSize(100, 20);
QHBoxLayout* layout = new QHBoxLayout(ui->searchWidget);
layout->setAlignment(Qt::AlignBottom);
layout->addWidget(child);
layout->addWidget(labelSearch);
layout->addWidget(lineSearch);
}
出于好奇,你为什么不使用设计器添加这些?