Qt中的小部件:更改背景颜色onclick

时间:2013-07-09 09:02:00

标签: c++ qt

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

点击某个小部件,我想更改此点击小部件的背景颜色和具有特定名称的另一个小部件的背景。小部件没有onclick()。我必须使用像mousePressEvent这样的东西,但我不知道如何。

1 个答案:

答案 0 :(得分:1)

  

我是c ++和Qt的新手。

你应该开始学习像C++ GUI Programming with Qt 4这样的Qt书。

  

小部件没有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