求教QListWidget如何实现多列!

秋千坠丶 2013-11-15 05:20:37
查了一下午的Qt文档,愣是没找到设置QListWidget多列显示的函数,只有设置行数什么的。楼主又不想使用QTabelWidget,所以问问各位有没有什么方法可以实现这一功能的。
话说楼主也觉得自己有简单的封装好的控件不用,非要自定义QListWidget,这简直就是自作孽,可是楼主我好奇啊,唉,好奇心害死人呐!

...全文
4227 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhqtr 2015-01-15
  • 打赏
  • 举报
回复
at linux . How to resolve this problem finally?
HFred 2014-03-27
  • 打赏
  • 举报
回复
引用 15 楼 Qyee16 的回复:
[quote=引用 12 楼 HFred 的回复:] 试一试 setWrapping(true)
这都是打酱油的。。。。。。。我汗滴滴。。这答案都能给的出,早上没吃药吧。。。[/quote] 也许我对楼主的提问理解有误,不过不试过怎能妄下结论呢,药可以乱吃,话不能乱说:
from PyQt4 import QtGui
import sys

def main():
    
    app = QtGui.QApplication([])

    list_widget = QtGui.QListWidget()
        

    #list_widget.setFlow(QtGui.QListView.TopToBottom)
    #list_widget.setViewMode(QtGui.QListView.ListMode)

    #list_widget.setResizeMode(QtGui.QListView.Adjust)
    list_widget.setWrapping(True)

    for i in range(100):
        item_str = "test_%d" % i
        item = QtGui.QListWidgetItem(item_str, list_widget)
        list_widget.addItem(item)

    list_widget.show()
    app.exec_()

if __name__ == '__main__':
    main()
Qyee16 2014-03-25
  • 打赏
  • 举报
回复
引用 12 楼 HFred 的回复:
试一试 setWrapping(true)
这都是打酱油的。。。。。。。我汗滴滴。。这答案都能给的出,早上没吃药吧。。。
jinlian_152 2014-02-21
  • 打赏
  • 举报
回复
引用 13 楼 winddragonsky 的回复:
可以试下setViewMode(QListView::IconMode);这个类似缩略图的形式网格状排列你的item,然后setItemWidget添加你自己的widget
顶下。
ayanamiyf 2013-12-05
  • 打赏
  • 举报
回复
可以试下setViewMode(QListView::IconMode);这个类似缩略图的形式网格状排列你的item,然后setItemWidget添加你自己的widget
HFred 2013-12-04
  • 打赏
  • 举报
回复
试一试 setWrapping(true)
Trump_zhai 2013-11-16
  • 打赏
  • 举报
回复
用多个QListWidget布局在一个QWidget上面,一切OK
RabinSong 2013-11-16
  • 打赏
  • 举报
回复
不能这样说,QListView比QListWidget的灵活性更大,QListWidget实现就是为了使应用简单,简单的代价就是适用场合没有QListView那么广。 mvc的实现方法,可参考我的http://blog.csdn.net/rabinsong/article/details/8452946
Trump_zhai 2013-11-16
  • 打赏
  • 举报
回复
引用 10 楼 luohao1213 的回复:
[quote=引用 8 楼 donglangwudi 的回复:] 用多个QListWidget布局在一个QWidget上面,一切OK
— —,这种方法我早就想过了,不过着实太挫了点,因为要关连一条多个属性的数据的话,显示效果实在是太差了~~要这么麻烦的用QListWiget,还不如用回QTableWidget好了~ [/quote] 知道QtableWidget好啊?难道不知道QListWidget是线性的么?
秋千坠丶 2013-11-16
  • 打赏
  • 举报
回复
引用 8 楼 donglangwudi 的回复:
用多个QListWidget布局在一个QWidget上面,一切OK
— —,这种方法我早就想过了,不过着实太挫了点,因为要关连一条多个属性的数据的话,显示效果实在是太差了~~要这么麻烦的用QListWiget,还不如用回QTableWidget好了~
秋千坠丶 2013-11-16
  • 打赏
  • 举报
回复
引用 7 楼 LazyDreamHunter 的回复:
不能这样说,QListView比QListWidget的灵活性更大,QListWidget实现就是为了使应用简单,简单的代价就是适用场合没有QListView那么广。 mvc的实现方法,可参考我的http://blog.csdn.net/rabinsong/article/details/8452946
恩,好的。
秋千坠丶 2013-11-15
  • 打赏
  • 举报
回复
能不能说下QListview怎么实现呢?按理说QWidget继承自QListView,QListView能实现的,QListWidget应该都能实现吧,QListview是不是通过setModel()来设置Model实现的呢?
RabinSong 2013-11-15
  • 打赏
  • 举报
回复
用QTableWidget代替吧,QListWidget没有提供这个功能,每次只能显示一个列 或者你使用qlistview来实现吧
秋千坠丶 2013-11-15
  • 打赏
  • 举报
回复
引用 3 楼 LazyDreamHunter 的回复:
setModelColumn ( int column )
这个能设置么?为什么我用 下午时候 ListWiget->setModelColumn (5);没反应。。。还是item的添加有问题?你是怎么把item添加到第二列的呢?我无论怎么添加item都只能在第一列。。。
RabinSong 2013-11-15
  • 打赏
  • 举报
回复
setModelColumn ( int column )
秋千坠丶 2013-11-15
  • 打赏
  • 举报
回复
引用 1 楼 LazyDreamHunter 的回复:
QTableWidget t; t.setColumnCount(5);
咳咳,QTableidget我知道,可我就是想试试用QListWidget...
RabinSong 2013-11-15
  • 打赏
  • 举报
回复
QTableWidget t; t.setColumnCount(5);

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧