Ejemplo n.º 1
0
// class ChatWidget -->
ChatWidget::ChatWidget():base_pixmap("image/system/chatface/base.png")
{
    setFlags(ItemIsFocusable);
    setAcceptHoverEvents(true);
    setAcceptedMouseButtons(Qt::LeftButton);

    base = new QGraphicsRectItem(QRectF(base_pixmap.rect()), this);
    QPushButton *returnButton, *chatfaceButton, *easytextButton;

    returnButton=addButton("returnBt",-1);
    chatfaceButton=addButton("chatfaceBt",24);
    easytextButton=addButton("easytextBt",48+1);

    chat_face_board = new MyPixmapItem(QPixmap("image/system/chatface/faceboard.png"),this);
    chat_face_board->setSize(160,180);
    chat_face_board->setPos(-160 + 74,-180-1);// 24+24+24+2=74
    chat_face_board->setZValue(1);
    chat_face_board->setVisible(false);
    chat_face_board->itemName="faceboard";

    easy_text_board=new MyPixmapItem(QPixmap("image/system/chatface/easytextboard.png"),this);
    easy_text_board->setSize(180,222);
    easy_text_board->setPos(-180 + 74,-222-1);
    easy_text_board->setZValue(1);
    easy_text_board->setVisible(false);
    easy_text_board->itemName="easytextboard";

    connect (chat_face_board,SIGNAL(my_pixmap_item_msg(QString)),this,SIGNAL(chat_widget_msg(QString)));
    connect (easy_text_board,SIGNAL(my_pixmap_item_msg(QString)),this,SIGNAL(chat_widget_msg(QString)));
    connect(chatfaceButton, SIGNAL(clicked()), this, SLOT(showFaceBoard()));
    connect(easytextButton, SIGNAL(clicked()), this, SLOT(showEasyTextBoard()));
    connect(returnButton, SIGNAL(clicked()), this, SLOT(sendText()));
}
Ejemplo n.º 2
0
void MyPixmapItem::mousePressEvent(QGraphicsSceneMouseEvent *event) {
    setVisible(false);
    QString msg = "";
    int result = mouseCanClick(event->pos().x(), event->pos().y());
    if (result == -1) return;
    if (this->itemName == "faceboard")
        msg = "<#" + QString::number(result + 1) + "#>";
    else if (this->itemName == "easytextboard")
        msg = easytext.at(result);
    emit my_pixmap_item_msg(msg);
}