首页 文章

QTreeWidget底部的小面板

提问于
浏览
0

我正在使用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);

}

标签和搜索字段正确显示在树的底部,但字段与树节点重叠(请参见下图) .

知道为什么会这样做吗?

Ciao Alf

enter image description here

1 回答

  • 0

    建议不要在树窗口小部件上设置布局 . 它就像其他控件,如按钮,标签等 .

    我看到你正在使用设计师 . 在树窗口小部件下添加一个空白窗口小部件( 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);    
    }
    

    出于好奇,为什么不使用设计师添加这些呢?

相关问题