您当前的位置: 首页 > 

龚建波

暂无认证

  • 4浏览

    0关注

    312博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

《QDebug 2019年12月》

龚建波 发布时间:2019-12-03 22:43:36 ,浏览量:4

一、Qt Widgets 问题交流 1.QTableWidget通过setCellWidget添加的带布局的QWidget没铺满

一般setCellWidget设置的如QComboBox、QLineEdit等默认是会铺满的,但是用了一个QWidget加布局的方式,里面的控件却没铺满了,还没找到原因。下图左侧为有布局的,右侧为单一控件。

暂时的做法是给里面的子控件增加一个高度。

2.keyPressEvent函数没有响应方向键

从效果上来看,上下左右方向按键默认是切换各部件焦点,在重载keyPressEvent时按方向按键可能就不会被触发。

方法一,使用setFocusPolicy,但是只有这个设置可能还需要点击或者切换焦点才生效,可以配合setFocus,如:

setFocusPolicy(Qt::StrongFocus);
setFocus(Qt::ActiveWindowFocusReason);

方法二,在keyReleaseEvent种去截获,如:

void Widget::keyPressEvent(QKeyEvent *event)
{
    qDebug()btnMenu->setMenu(menu);

尺寸可以设置成固定统一的,这样看起来更协调一点。

二、Qt Quick 问题交流 1.ListView或其他的View获取其中item的属性或方法

有时候想要直接获取Model-View中某个item的值,但是View一般只提供了currentItem的访问接口,如果想要遍历就很麻烦,下面是从网上找的方法:

方法1,用设置currentIndex的方式,不靠谱:

View.currentIndex = index;
View.currentItem.属性/func();

方法2,遍历view的children,但要注意,这种方式遍历的不只是model项对应的view-item项,还包含了因section或highlight等设置而生成的组件:

for(var index=0;i            
关注
打赏
1655829268
查看更多评论
0.0561s