当前位置: 代码迷 >> QT开发 >> QT:UI设计
  详细解决方案

QT:UI设计

热度:444   发布时间:2016-04-25 02:57:00.0
QT:UI设计求助


如图这样的控件,有没有什么好的设计思路,一共是288个色块
我能想到的办法,一种是用控件,比如button,放228个
还有就是一个一个的画矩形色块,但是又必须满足点中某一色块要弹出一个显示信息的对话框,这我就不知道怎么做了,难道要用坐标去判断?
请大神给点思路
------解决思路----------------------
用pushbutton比较好,让他们关联到同一个槽。
------解决思路----------------------
这里有一个比较偷懒的方法.

我用css修改QTableWidget的风格,修改成上图的样子,
然后在代码里面可以使用

    ui->tableWidget->item(0, 0)->setBackgroundColor(QColor("#00CC66"));
    //设置数据绑定,有于区分这是哪个块 
    ui->tableWidget->item(0, 0)->setData(0xFF1, "data");
    //读取数据,
   QVariant var = ui->tableWidget->item(0, 0)->data(0xFF1);


设置不同的颜色和对不同的块绑定一个数据.

这是qss

QScrollBar:vertical
{
    width:0px;
}

QScrollBar:horizontal
{
    height:0px;
}

QTableView
{
    qproperty-rowCount:9;
    qproperty-columnCount:26;
    qproperty-selectionMode:"NoSelection";
    gridline-color:#797979;
    border:none;
    outline:none;
}


至于点击事件大概是用这个






------解决思路----------------------
像你这种情况的话还是建议用pushbutton,另外,你可以用事件过滤器来捕获鼠标点击的事件,个人觉得这个方法要比信号槽方便一点
  相关解决方案