<分区>
我想做一个非常简单的东西,但我是 c++ 和 Qt 的新手。
单击某个小部件时,我想更改此单击小部件的背景颜色和另一个具有特定名称的小部件的背景。小部件没有 onclick()。我想我必须使用一些不同的东西,比如 mousePressEvent,但我不知道该怎么做。
<分区>
我想做一个非常简单的东西,但我是 c++ 和 Qt 的新手。
单击某个小部件时,我想更改此单击小部件的背景颜色和另一个具有特定名称的小部件的背景。小部件没有 onclick()。我想我必须使用一些不同的东西,比如 mousePressEvent,但我不知道该怎么做。
最佳答案
I am new to c++ and Qt.
您可能应该从通读 Qt 书籍开始,例如 C++ GUI Programming with Qt 4 .
Widgets don't have got onclick(). I thing I have to use something different like 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
关于c++ - Qt 中的小部件 : Change background-color onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17544097/