1

我正在尝试使用 QColumnView 来实现可调整大小的列。我面临三 (3) 个问题。

  1. 无法根据内容的宽度自动调整列。列固定在一定的宽度。我可以允许列调整到内容的宽度,或者我可以为列定义固定宽度吗?

  2. 如果我单击所谓的最后(第二)列(即“组件 1 项目 1”),它仍会自动扩展到第三列。如何阻止它扩展到另一列(空白)?

  3. 我无法更改复选框选中和未选中状态的图像。图像不显示。尺寸为 40x40,但图像为空白。

请帮忙。

谢谢。

void SetDialog::createLayout() {
    this->setStyleSheet("QListView::indicator { width: 40; height: 40; }"
    "QListView::indicator::checked { image: url(../Icons/Checkbox_Checked.png); }"
    "QListView::indicator::unchecked { image: url(../Icons/Checkbox_Unchecked.png); }");

    ...

    page1ColumnView = new QColumnView(page1);
    page1ColumnView->setFixedSize(772, 400);

    QStandItemModel *model = new QStandItemModel;

    QStandardItem *component1 = new QStandardItem("Component 1");
    QStandardItem *component2 = new QStandardItem("Component 2");
    model->appendRow(component1);
    model->appendRow(component2);

    QStandardItem *component1Item1 = new QStandardItem("Component 1 Item 1");
    QStandardItem *component1Item2 = new QStandardItem("Component 1 Item 2");
    component1Item1->setCheckable(true);
    component1Item2->setCheckable(true);
    component1->appendRow(component1Item1);
    component1->appendRow(component1Item2);

    QStandardItem *component2Item1 = new QStandardItem("Component 2 Item 1");
    QStandardItem *component2Item2 = new QStandardItem("Component 2 Item 2");
    component2Item1->setCheckable(true);
    component2Item2->setCheckable(true);
    component1->appendRow(component2Item1);
    component1->appendRow(component2Item2);

    ... }
4

0 回答 0