1

サイズ変更可能な列を実装するために QColumnView を試しています。私が直面した 3 つの問題があります。

  1. コンテンツの幅に応じて列を自動的に調整することはできません。列は特定の幅に固定されています。列をコンテンツの幅に合わせて調整したり、列の固定幅を定義したりできますか?

  2. おそらく最後 (2 番目) の列 (つまり、"Component 1 Item 1") をクリックすると、3 番目の列に自動的に展開されます。別の列 (空白) に展開しないようにするにはどうすればよいですか?

  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