
解决方法 1:
鼠标点中一项时,QListWidget会发出这信号的,可以用
void currentItemChanged ( QListWidgetItem current, QListWidgetItem previous )
void currentRowChanged ( int currentRow )
void currentTextChanged ( const QString & currentText )
void itemActivated ( QListWidgetItem item )
void itemChanged ( QListWidgetItem item )
void itemClicked ( QListWidgetItem item )
void itemDoubleClicked ( QListWidgetItem item )
void itemEntered ( QListWidgetItem item )
void itemPressed ( QListWidgetItem item )
void itemSelectionChanged ()
转载,仅供参考。
这些信号来取得当前点了哪一项,具体看文档,
如果你设置图标的大小超过300200,那么一句代码:
ui->myQListWidget->setIconSize(QSize(300,200));
就会把所有行的图标都设置成300200
如果你的图标不够大,那么只会显示各自图标的最大尺寸。
你的图标尺寸够大不?
创建一个QListWidget的对象listWidget
设置QComboBox的Model和View, 即使用setModel(listWidgetmodel())和setView(listWIdget)
自定义一个下拉项ItemWidget, 把你项目需要的下拉项设计出来
把自定义的下拉项ItemWidget加到listWidget中, 即使用setItemWidget();
Qt提供了两种方法来重写ListWidget的显示功能:一种是使用QListWidgetItem的setData()函数,另一种是使用QAbstractItemDelegate的paint()函数。
使用setData()函数,可以设置ListWidgetItem的每一项的显示内容,它接受两个参数:一个是用来指定显示内容的角色,另一个是用来指定显示内容的值。可以使用不同的角色和值来控制ListWidgetItem的显示内容,比如可以使用Qt::DisplayRole来指定显示文本,使用Qt::DecorationRole来指定显示图标等。
使用QAbstractItemDelegate的paint()函数,可以实现更加灵活的ListWidgetItem显示功能,它接受三个参数:一个是用来指定ListWidgetItem的位置和大小,一个是用来指定ListWidgetItem的样式,一个是用来指定ListWidgetItem的数据。可以使用这些参数来绘制ListWidgetItem,比如可以使用QPainter绘制文本,使用QIcon绘制图标等。
以上就是关于QT中的QListWidget鼠标按下事件为什么无法获取到当前按下Item全部的内容,包括:QT中的QListWidget鼠标按下事件为什么无法获取到当前按下Item、QT如何放大图标的大小、QT如何实现自定义下拉列表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)