簡體   English   中英

Qt字符串問題

[英]Qt string problems

所以我制作了一個簡單地制作“隨機”句子的程序。 它從基於使用ctime的種子的7列表中選擇名詞和顏色形容詞。 現在我正在嘗試將其轉換為控制台應用程序。 我的問題是我無法正確顯示它。 而不是cout我需要在一個標簽上得到它。

錯誤:沒有匹配函數來調用'QLabel :: setText(std :: string&)'

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <cstdlib>
#include <iostream>
#include <ctime>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_newSentence_clicked()
{
    std::string noun[7] = {"cow", "tree", "marker", "cereal", "calendar", "rug", "hammer"};
    std::string color[7] = {"red", "orange", "yellow", "green", "blue", "indigo", "violet"};

    srand(time(0));
    int nounRandomizer = (rand()%5);
    int colorRandomizer = ((rand()+1)%5);

    std::string sentence = "The"+noun[nounRandomizer]+" is "+color[colorRandomizer]+".";

    ui->sentenceDisplay->setText(sentence);
}

從QLabel 引用開始 ,setText函數將const QString&作為輸入參數,但是你傳入了std :: string。 你可以從std :: string構造一個QString對象然后傳遞給它。

例如:

ui->sentenceDisplay->setText(QString::fromStdString(sentence));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM