0

我想做一个非常简单的事情,但我是 C++ 和 Qt 的新手。

单击某个小部件时,我想更改此单击的小部件的背景颜色和具有特定名称的另一个小部件的背景。小部件没有 onclick()。我觉得我必须使用不同的东西,比如 mousePressEvent,但我不知道怎么做。

4

1 回答 1

1

我是 C++ 和 Qt 的新手。

您可能应该从阅读 Qt 书籍开始,例如C++ GUI Programming with Qt 4

小部件没有 onclick()。我觉得我必须使用不同的东西,比如 mousePressEvent

是的,对于您的特定问题,您可以覆盖QWidget::mousePressEvent()方法:

class MyWidget : public QWidget {
...
protected:
    void mousePressEvent ( QMouseEvent * event );
}
void MyWidget::mousePressEvent(QMouseEvent * event ) {
    // do whatever you want when the mouse button is clicked, e.g. 
    // modify the palette of the widget to change the background color
}

这是一个执行类似操作的示例应用程序(图标编辑器):http: //files.itslearning.com/data/764/2405/qt4/ch05lev1sec2.html

于 2013-07-09T09:12:36.767 回答