一、Qt Widgets 问题交流
1.QTableWidget通过setCellWidget添加的带布局的QWidget没铺满
一般setCellWidget设置的如QComboBox、QLineEdit等默认是会铺满的,但是用了一个QWidget加布局的方式,里面的控件却没铺满了,还没找到原因。下图左侧为有布局的,右侧为单一控件。
暂时的做法是给里面的子控件增加一个高度。
从效果上来看,上下左右方向按键默认是切换各部件焦点,在重载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
关注
打赏