이것은 내 첫 번째 질문이며, 저는 매우 고심하고 있습니다. 나는 심플한보기를위한 소프트웨어를 만들기 위해 Qt를 사용하고 있습니다. 학생 그룹이 이전에이 프로젝트를 수행 했으므로 미리 제작 된 코드로 작업 할 수있었습니다."QWidget *"의 인수 1에서 "QGroupBox *"로의 변환이 불가능합니다.
내 문제는 다음과 같습니다. 일반적인 방법으로 코딩하지 않고 QDesigner를 사용합니다. 스크롤 영역에 QGroupBox를 안에 넣고 싶습니다. 세로 레이아웃으로 다른 상자를 보유하고있는 "등록 정보"라는 일반 상자가 있습니다.
이제는 "symbolgen"이라는 상자 중 하나가 "SymbolGen"이라는 사용자 지정 클래스를 사용하고 있습니다. 클래스는 다음과 같이 정의됩니다 :
class SymbolGen : public QGroupBox
이제 "속성"상자에서 상자를 추출하는 것이 좋습니다. 즉, "속성"그룹을 "속성"레이블로 바꾸고 작은 상자로 바꾸기를 원합니다.
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은"(일부를 보유 이제 무엇을 Qt는 나에게 말한다하면은 다음과 같다 수업에서 중요한 변수) 은 다른 그룹 상자가 필요합니다. 그러면이 상자를 오류없이 어떻게 분리 할 수 있습니까?
도움 주셔서 감사합니다.
편집 :이 오류가 발생합니다 // 라인 :이 하나가 "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 (const를 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 &)'의 내용을 게시 할 수 있습니까? –