[英]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.