次のコードでは、メソッドexec(const char *cmd)
は bash スクリプトを実行し、出力を文字列のベクトルとして返します。目的は、これらの文字列のそれぞれから を作成し、作成した小さな GUI にQListWidgetItem
追加することですが、 が正常に作成されません。aまたはを作成するには常に a を使用する必要があるようですが、文字列変数を使用して作成することはできません。QListWidget
QListWidgetItem
const char*
QString
QListWidgetItem
行で何をしようとしているのかを見ることができます: QString nextLine = txtVcr.back();
There is an exception throw here, it wants QString
set to a const char*
, たとえば QString nextLine = "Hello, World!";
ベクトルから文字列を取得QListWidgetItems
し、それらから作成して my に追加するにはどうすればよいQListWidget
ですか?
C# では、任意のコンテナー/ウィジェットに文字列などを追加できるという点で、すべてがかなり直接的でした。これらの「QWidgets」で見落としている中間ステップはありますか? おそらく、「Q」タイプにキャストする必要がありますか?
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
vector<string> exec(const char *cmd);
vector<string> txtVcr = exec("/home/rhurac/getServices.sh");
while (!txtVcr.empty())
{
QString nextLine = txtVcr.back();
ui->uxListWidget->addItem(new QListWidgetItem(nextLine, ui->uxListWidget));
txtVcr.pop_back();
}
}