
如图这样的控件,有没有什么好的设计思路,一共是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,另外,你可以用事件过滤器来捕获鼠标点击的事件,个人觉得这个方法要比信号槽方便一点