qt - QT中如何获取Buttons的paint事件

标签 qt qt4 drawing symbian paint

我是QT新手, 我尝试了很多搜索示例,了解如何在 QT 中获取按钮绘制事件。我没有办法做到这一点。

如何在 QT 中设置按钮的委托(delegate)?。 如何获取按钮的绘制事件?

看了很多文章,都说我们可以获取按钮的paint事件,我们也可以自定义。 但我没有得到如何获得绘画事件的代码片段..

我尝试做这个示例,通过子类我仍然没有得到事件。请告诉我哪里错了

  class Mybutton:QPushButton
    {
public:
    Mybutton(QObject *parent = 0){}
    void paintEvent ( QPaintEvent * );

    };




void Mybutton::paintEvent(QPaintEvent* Paint)
    {

    Paint->rect();

    }



int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QPushButton *Newbutton = new QPushButton();
    Newbutton->move(20,30);
    Newbutton->show();



    return a.exec();
}

我仍然无法获取事件。

请帮助我。

谢谢

最佳答案

您需要继承 QPushButton 并重新实现 paintEvent()

关于qt - QT中如何获取Buttons的paint事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2242598/

相关文章:

qt - 如何加入运行 mainWindow 类(Principal)中的函数的线程?

c++ - 多重继承错误 'invalid use of incomplete type'

qt - 为 Windows 发行版构建 Qt/QML 应用程序

c++ - 如何将 QSerialPort 模块添加到 CMake 中?

qt - 将垂直标题添加到 QTreeView

sql - QT4.7中使用sqlite的问题

qt - QT中如何打开文件和目录

javascript - 如何将折线添加到 mapbox.js map ?

c# - 防止 System.Drawing.Graphics 更新

image - Delphi - 绘制到字符串网格中选定单元格的 Canvas - 可能吗?