当前位置: 代码迷 >> QT开发 >> 怎么或者有什么控件可以实现这种可拉伸的网格线
  详细解决方案

怎么或者有什么控件可以实现这种可拉伸的网格线

热度:125   发布时间:2016-04-25 03:04:28.0
如何或者有什么控件可以实现这种可拉伸的网格线
本帖最后由 lakxas 于 2014-11-10 13:51:00 编辑



这是程序要实现的效果,就是可以动态拖动中间或两边的粗黑线(浅色黑线可以无视),实在不知道如何实现这部分,希望知道的可以告知下,谢谢
------解决思路----------------------
这个好像自己画比较简单。用一个QTableView模拟,反而更复杂
------解决思路----------------------
自己写个类重载QWidget
处理里面的
    virtual void paintEvent(QPaintEvent *);
    virtual void mousePressEvent(QMouseEvent *);
    virtual void mouseReleaseEvent(QMouseEvent *);
    virtual void mouseMoveEvent(QMouseEvent *);

paintEvent中处理画线(包括正常线,以及鼠标按下后的线)

mousePressEvent中判断是否是粗线位置,如果是则标记该位置(用于粗线变色),另外标记一下鼠标已按下
mouseMoveEvent中处理鼠标形状以及按下鼠标后的位置记录
mouseReleaseEvent中更改标记的粗线位置数据,并将鼠标按下标记取消(恢复正常显示状态)
  相关解决方案