• 8685阅读
  • 6回复

请问如何让键盘上下键来卷动listWidget的项? [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 楼主  发表于: 2010-12-06
我是先 listWidget->addItem(""); 来添加空项.
然后用 listWidget->setItemWidget
来把按钮添加进 listWidget.

这样一俩只有鼠标直接拖动卷动条才能卷动listWidget
键盘的上下键只能在当前页的这些项之间来回切换项的焦点.
但是一旦移动到了当前页的最下面,再按下的话,当前页并不会跟着卷动.

请问有没有简单的方法可以直接实现让键盘卷动的?

我试过直接写键盘事件.

用 listWidget->setCurrentRow(i,QItemSelectionModel::SelectCurrent);
      button->setFocus();
来使上下键移动listWidget的项.

但是结果依然.
除非我在main函数里设置
app.setNavigationMode(Qt::NavigationModeCursorAuto);
就是屏蔽掉键盘移动焦点.才能使得我写的键盘事件生效.成功让上下键能卷动listWidget

但是如此一来,键盘就废了.如果有个lineedit框,就无法输入内容!
如果我又得给输入框也写键盘事件,这样就费事了.
[ 此帖被算了不说了在2010-12-27 10:55重新编辑 ]
只看该作者 1楼 发表于: 2010-12-27
顶一下啊,有没有人能解决啊
离线cycloneii

只看该作者 2楼 发表于: 2010-12-27
调用QListWIdget的setAutoScroll ( true )
只看该作者 3楼 发表于: 2010-12-27
没有用.这个默认值就是true.

如果我是用listWidget默认的项的话,上下键本来就可以自动卷动.

但是我是把button当成listWidget的项了.因为我要设置这些项的背景图片,好看一点.
这样一来,上下键只能移动焦点,但是却无法卷动.
离线xtfllbl

只看该作者 4楼 发表于: 2010-12-27
纯粹为了设置背景图片为什么不用

void QListWidgetItem::setBackground ( const QBrush & brush )
Sets the background brush of the list item to the given brush.

搞个按钮不麻烦么
上海欢迎您
只看该作者 5楼 发表于: 2010-12-28
QBrush 好像是平铺而不是拉伸的.
并且 无法设置默认,按下,焦点的背景图片.

而styleSheet 就可以.
只看该作者 6楼 发表于: 2010-12-29
忘了说了.我是在Nokia模拟器下运行的
快速回复
限100 字节
 
上一个 下一个