我嘗試在QT 5.8中做車速表。我使用小部件QWT撥號。但我有問題,如單位(公里/小時)顯示標籤。我使用谷歌,但我沒有找到它。 我該怎麼做? 謝謝QWT撥號,顯示單位
0
A
回答
1
我建議的解決方案是創建一個繼承自QwtDial
並覆蓋paintEvent
方法的類。
mydial.h
#ifndef MYDIAL_H
#define MYDIAL_H
#include <qwt_dial.h>
class myDial : public QwtDial
{
Q_OBJECT
public:
myDial(QWidget *parent = NULL);
protected:
void paintEvent(QPaintEvent *event);
};
#endif // MYDIAL_H
mydial.cpp
#include "mydial.h"
#include <QPainter>
myDial::myDial(QWidget *parent):QwtDial(parent)
{
}
void myDial::paintEvent(QPaintEvent *event)
{
QwtDial::paintEvent(event);
QPainter painter(this);
painter.setPen(Qt::black);
QFont font;
font.setPointSize(11);
painter.setFont(font);
QString text = QString("%1 km/h").arg(value());
auto c = rect().center();
auto Size = painter.fontMetrics().size(Qt::TextSingleLine, text);
painter.drawText(QPointF(c.x() -Size.width()/2, c.y()+5*Size.height()), text);
}
實施例:
#include <QApplication>
#include "mydial.h"
#include <qwt_dial_needle.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
myDial w;
w.setScaleArc(30,330);
w.setLineWidth(15);
w.setWrapping(false);
QwtDialSimpleNeedle *nd = new QwtDialSimpleNeedle(QwtDialSimpleNeedle::Arrow, Qt::white, Qt::red);
w.setNeedle(nd);
w.setWindowTitle("Custom QwtDial");
w.show();
return a.exec();
}
+0
@Martin ValdoValášek您是否嘗試過我的解決方案? – eyllanesc
+0
我會試試.. –
相關問題
- 1. Qwt實時撥號
- 2. 顯示撥號鍵盤
- 3. 顯示撥號器:問題
- 4. 如何顯示撥號盤
- 5. 我的JFrame沒有顯示撥號
- 6. 如何顯示撥號盤活動
- 7. jquery單獨撥號
- 8. 要在後臺撥打電話,而不是顯示撥號盤
- 9. Qwt simpleplot示例
- 10. Navbar撥號器位置
- 11. Twilio - 轉移呼叫和顯示撥號前撥打的電話號碼
- 12. 沒有提示的撥號號碼
- 13. 在Android撥打電話時在撥號器屏幕上顯示Toast消息
- 14. 撥號位置量表圖Plotly R
- 15. 輸入位置時撥號 - iOS
- 16. NFC智能撥號撥打號碼
- 17. 獲取撥號在本機撥號android
- 18. qwt圖形圖示例
- 19. 如何在android中撥號時顯示活動選擇器菜單?
- 20. 在Qwt中顯示繪圖值的工具提示
- 21. 星號php撥號
- 22. 我想撥打手機號碼,但不希望用戶顯示撥號號碼,以隱藏撥打號碼的隱私
- 23. 從android應用程序撥號時顯示skype作爲選項
- 24. 在android中撥打電話的來電顯示號碼
- 25. 在我的應用程序中顯示撥號鍵盤inputType = number?
- 26. 如何在Titanium的Android撥號盤中顯示'#'?
- 27. 創建android撥號盤像數字輸入顯示控制
- 28. 如何實際撥打電話,不顯示號碼,在Android 6
- 29. 無法顯示OBIEE 11g中的錶盤撥號
- 30. 如何禁用Android撥號器自動顯示?
你可以展示你試過的東西。 – eyllanesc