c++ - Qt 中的小部件 : Change background-color onclick

标签 c++ qt

<分区>

我想做一个非常简单的东西,但我是 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/

相关文章:

c++ - 在已经包含一些文本的 QTextEdit 中显示来自 QLineEdit 的文本并实时更新

c++ - Qt 去除边距

c++ - 使用 C++ 的目录中的文件计数

c++ - 如何在继承类中创建一个父类变量数组作为私有(private)成员

c++ - 如何在 C++ 中使用 setw 来对齐/格式化控制台中的文本

c++ - 我无法编译从互联网下载的 Qt 项目

c++ - 如何将 char *argv[] 从 Main 函数指向表

C++ 求数组中数字的平均值

qt - 如何在Qt中将数据从一种形式传递到另一种形式?

c++ - QT中的自定义按钮