macOS、C++、Qt5でGUIアプリを作っています。等幅フォントを指定してテキストを描画します。このとき、半角10文字より全角5文字の方が実際に描画されるサイズが短くなります。

void MainWindow::paintEvent(QPaintEvent *event)
{
    QPainter p(this);
    p.setFont(QFont("Monaco", 20));
    p.drawText(0, 30, "WWWWWWWWWW");
    p.drawText(0, 60, "||||||||||");
    p.drawText(0, 90, "あああああ");
    qDebug() << p.fontMetrics().size(0, "WWWWWWWWWW").width();
    qDebug() << p.fontMetrics().size(0, "||||||||||").width();
    qDebug() << p.fontMetrics().size(0, "あああああ").width();
}

テキストの描画

上記の例では、半角10文字の幅が120px、全角5文字の幅が100pxとして描画されます。
半角10文字と全角5文字が同じ幅で描画されるようにする方法はないでしょうか?

なお、Windowsで同じことを行うと、期待通りのサイズで描画されます。