• 10229阅读
  • 7回复

【已解决】请问当我改变了QListWidgetItem的高度时,其他的项不动,结果就是把下面的盖住了 [复制链接]

上一主题 下一主题
离线kyosold
 

只看楼主 倒序阅读 楼主  发表于: 2008-12-29
— 本帖被 XChinux 执行加亮操作(2008-12-31) —
当我把QListWidget中其中一项的高度变大时,它下面的项不动,结果它就把它下面的项给盖住了,我用QListWidget->update()方法也行,等高手解答
[ 此贴被kyosold在2008-12-30 13:07重新编辑 ]
离线lazybone
只看该作者 1楼 发表于: 2008-12-30
请问楼主咋改变其中一项的高度?
离线kyosold

只看该作者 2楼 发表于: 2008-12-30
当点击一个时会有个signal里面会传过来QListWidgetItem *item的参数,这时我用:
QSize itemsize;
itemsize.setHight(40);
item->setSizeHint(itemsize);
就可以了

可是会盖住下面的项
离线water_wf

只看该作者 3楼 发表于: 2008-12-30
你在设置下其它不久可以了,给个最优值设进去
离线kyosold

只看该作者 4楼 发表于: 2008-12-30
好像只能设置高度和宽度,不能设置上下“位置”,我之前试着把这个高度调整后,把它下面的全remove了,然后再add到QListWidget上,会出错,也不知道怎么回事
离线lazybone
只看该作者 5楼 发表于: 2008-12-30
每次修改完高度加句
ui.listWidget.reset();

客气了
[ 此贴被lazybone在2008-12-30 13:18重新编辑 ]
离线kyosold

只看该作者 6楼 发表于: 2008-12-30
恩,确实成功了,非常感谢楼上的,之前我怎么没发现啊,笨死了。。。。
离线onglus
只看该作者 7楼 发表于: 2009-09-30
楼主,你那个item->setSizeHint(QSize)应该这样写才对吧:list->item(row)。我当时是这样做的,可是结果是不仅宽度没有修改成,还造成了我程序崩溃。我的那段代码是这样写的:
        QSize itemHight;
        itemHight.setHeight(41);
        list->item(1)->setSizeHint(itemHight);
既然楼主修改成功了,就帮我看下问题出在哪里吧。在此先声说句谢谢了。
[ 此帖被onglus在2009-10-02 11:17重新编辑 ]
Qt高阶编程交流群71555992,进群条件是非常勿扰。
快速回复
限100 字节
 
上一个 下一个