解決QPainter::drawText修改文字方向


今天在繪制雙坐標曲線的時候需要修改y軸文字提示

QPainter的drawText()函數提供了繪制文本的功能。

它有幾種重載形式,我們使用了其中的一種,即制定文本的坐標然后繪制

正常我們的文字書寫方向是水平方向,現在需要調整為豎直方向。

百度了下沒找到自己想要的結果,不得不吐槽百度搜索准確度

后來看了看幫助,可以進行文字旋轉再繪制,

嘗試了下實現了功能,這里記錄下

源碼

void pie::paintEvent(QPaintEvent *e)
{
    QPainter painter(this);
    int x = this->width()-20;
    QString text="電流值";
    int length=text.toLocal8Bit().length();

    int y = ( this->height()/ 2);
    painter.rotate(90);
    painter.drawText(y-30, -x, "電流值");

    painter.rotate(180);
    painter.drawText(-y-6, 20, "電壓值");
}

ps:對於旋轉之后坐標的變化還沒研究透,需要繼續研究

確切的說,被旋轉的是坐標系而不是這個文字。

參考Qt學習之路(28): 坐標變換http://devbean.blog.51cto.com/448512/239585/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM