c++ - QListWidget的IconMode使用setItemWidget,item控件有几率显示异常是怎么回事?
迷茫
迷茫 2017-04-17 14:44:35
0
1
852

首先我的功能是点击一下按钮就往QListWidget添加一个Item,但是添加两三个后其中一个控件一直不正常(通常是倒数第2个,偶尔会是其它的,甚至两个)

继续添加一次,之前显示不正常的控件又正常了。。。

这是代码

以上问题的排查,
QListWidget使用IconMode,不用setItemWidget来自定义控件一切正常,
QListWidget不用IconMode,使用setItemWidget来自定义控件也一切正常。

后来,我的代码里的QComboBox设置最小大小为80*50,不会出现上面的显示异常,又变成这样子了

我在Qt 5.6.0 以及 5.7 测试了都有这个问题

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(1)
洪涛
リファレンスコード
 ui->ltWidget->setViewMode(QListView::IconMode); //デフォルトのリストモードは上下に配置され、アイコンは左右に配置されます。
    ui->ltWidget->setResizeMode( QListView::Adjust ); // リスト ウィジェット コンテナのサイズに応じてレイアウト位置を動的に調整します
    ui->ltWidget->setSpacing(10); //間隔を 10 に設定します

    for(int i=0; i ltWidget);
        item->setSizeHint(QSize(80,50));
        QComboBox *box = 新しい QComboBox;
        box->addItems(QStringList() << "1" ltWidget->addItem(item);
        ui->ltWidget->setItemWidget(アイテム, ボックス);
    }
レンダリング

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート