これは私の最初の質問であり、私は非常に苦労しています。私は、excentric表示のためのソフトウェアを作成するためにQtを使用しています。このプロジェクトを以前に学生グループが行っていたので、あらかじめ作成したコードを使って作業しました。"QWidget *"の引数1から "QGroupBox *"への変換は不可能
私の問題は次のとおりです。 私は通常の方法でコーディングしていません、私はQDesignerを使用します。私は内部にいくつかのQGroupBoxを収めたいスクロールエリアを持っています。他のいくつかのボックスを垂直レイアウトで保持する "Properties"という名前の一般的なボックスがあります。
ここでは、いずれかのボックスを「symbolgen」と呼び、カスタムクラス「SymbolGen」を使用しています。クラスは以下のように定義されます:
class SymbolGen : public QGroupBox
ここで私がしたいのは、 "プロパティ"ボックスからアレルボックスを抽出することです。つまり、「プロパティ」グループを「プロパティ」というラベルで置き換え、小さなボックスで下に置きたいと思います。今、何Qtが私に言うことは、次のとおりです。
Fehler: C2664: "SymbolGen::SymbolGen(const SymbolGen &)" : Konvertierung von Argument 1 von "QWidget *" in "QGroupBox *" nicht m”glich
はい、私は英語で、ドイツ午前:私はここを参照してください何
Error: C2664: "SymbolGen::SymbolGen(const SymbolGen &)" : Conversion from argument 1 of "QWidget *" to "QGroupBox *" not possible.
は、この特定のグループボックス「symbolgenは」(一部を保持していること、ですクラス内の重要な変数)は、の別のグループボックスが必要です。どうすればこのボックスを間違いなく区切ることができますか?
ありがとうございました!
編集:このエラーが発生します//ライン:この1は "ui_admin.h" で発見され
symbolgen = new SymbolGen(scrollAreaWidgetContents_2);
。
編集:
scrollAreaWidgetContents_2 = new QWidget();
scrollAreaWidgetContents_2->setObjectName(QStringLiteral("scrollAreaWidgetContents_2"));
scrollAreaWidgetContents_2->setGeometry(QRect(0, 0, 503, 851));
編集:// SymbolGen :: SymbolGen(定数SymbolGen &): "ui_admin.h" から "scrollAreaWidgetContents_2" の//定義
SymbolGen::SymbolGen(QGroupBox *g) : QGroupBox(g)
{
srand (time(NULL));
//Wörterquelle lesen
std::ifstream f("source/ngerman.txt");
std::string l;
if(f.is_open())
{
while(f.good())
{
getline(f,l);
words.push_back(l);
//if(words.size() > 10000) break;
}
}
f.close();
//Satzquelle lesen
std::ifstream fs("source/sentences.txt");
//std::string l;
if(fs.is_open())
{
while(fs.good())
{
getline(fs,l);
phrase.push_back(l);
//if(words.size() > 10000) break;
}
}
fs.close();
}
また、エラーの原因となる行を投稿することはできますか? –
もちろん、メインポストに追加します。 –
今、 'SymbolGen'のコピーコンストラクタの内部でエラーが発生したのか、このコピーコンストラクタを呼び出すのだろうかと思います。しかし、コピーコンストラクタの引数は明らかに 'QGroupBox *'型ではないので、後者は実際には意味がありません。 'SymbolGen :: SymbolGen(const SymbolGen&)'の内容を投稿できますか? –