如何创建一个三角形的QWidget?

时间:2018-01-04 17:31:12

标签: c++ qt

如何创建一个三角形的QWidget

它必须是QWidget,因为它将被包含在另一个小部件中,必须是可点击的并且将执行一些动画(但是在这第一次我只需要创建三角形形状)。

这样的事情:

enter image description here

我正在使用Qt 5.3

1 个答案:

答案 0 :(得分:3)

这里有一个例子。希望它有所帮助。

widget.h:

setInterval(function() { 
    var date = new Date(); 

    if(date.getHours() == 0 && date.getMinutes() == 0){ 
       setInterval(calcFunction, 900000);
    }
}, 60000);

var calcFunction = function() { 
    var myValue = 0;

    if(date1.getHours() == 0 && date1.getMinutes() == 0) {// Check for midnight
        myValue = 0;        // resets value
    } else {
        myValue=myValue + Math.random();  
    }

    console("Value: " + myValue);
};

widget.cpp:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QPainterPath>
#include <QPoint>
#include <QVector>

class Widget : public QWidget
{
  Q_OBJECT

public:
  Widget(QWidget *parent = 0);
  ~Widget();

protected:
  void paintEvent(QPaintEvent *event) override;

private:
  QPainterPath getPath() const;
  QRegion getRegion() const;

private:
  int width = 100;
  int height = 100;
  QVector<QPoint> points;
};

#endif // WIDGET_H