Windows 7 Ultimate x64 で Qt 4.8.3 (32 ビット) を使用しています。
QGraphicsScene
サブクラスのコンストラクターには、次のものがあります。
QGraphicsItemGroup *point_table = new QGraphicsItemGroup;
addItem(point_table);
コンストラクターの後半で:
QPushButton *button = new QPushButton("Call++");
QGraphicsProxyWidget *inc_button = addWidget(button);
connect(button, SIGNAL(clicked()), this, SLOT(onCallIncrease()));
onCallIncrease()
ボタンがクリックされるたびに呼び出されます。ただし、に追加inc_button
するとpoint_table
、onCallIncrease()
呼び出されません。
QPushButton *button = new QPushButton("Call++");
QGraphicsProxyWidget *inc_button = addWidget(button);
point_table->addToGroup(inc_button);
connect(button, SIGNAL(clicked()), this, SLOT(onCallIncrease())); // doesn't work
マウスの左ボタンを受け入れるように手動で設定した場合でも:
QPushButton *button = new QPushButton("Call++");
QGraphicsProxyWidget *inc_button = addWidget(button);
inc_button->setAcceptedMouseButtons(Qt::LeftButton);
point_table->setAcceptedMouseButtons(Qt::LeftButton);
point_table->addToGroup(inc_button);
connect(button, SIGNAL(clicked()), this, SLOT(onCallIncrease())); // doesn't work
onCallIncrease()
マウスの左クリックでは呼び出されません。なぜこうなった?