Qt를 사용하는 학생 개발자는 사용자가 여러 파일에있는 특정 데이터 열을 플로트 할 수 있도록 GUI를 작성합니다. 설정하고있는 기능으로 사용자는 각 행의 버튼을 사용하여 파일을 선택할 수 있습니다. 따라서 버튼은 원래 찾아보기라고 말한 다음 사용자가 클릭하여 파일을 선택하는 대화 상자를 열면 버튼 텍스트가 선택한 파일 이름으로 바뀝니다. 이야기를 위해 유감스럽게 여기고; 내 간단한 시도가 어떤 선명도를 추가합니다.QTableWidget 내의 QPushButton을 캐치/연결하는 기능
내가 겪고있는 문제는 클릭 한 버튼에 대해 정책을 설정하는 방법을 잘 모르겠다는 것입니다. 나는 각각의 QPushButtons의 기능을 확장해야 할 것이라고 생각하지만 실제로 그렇게하는 방법을 모른다. 지금까지 셀 위젯을 설정하기 위해 다음을 사용하고 있습니다.
//with row count set dimensions are set becasue column count is static
//begin bulding custom widgets/QTableWidgetItems into cells
for(int x = 0; x < ui->tableWidgetPlotLineList->rowCount(); x++)
{
for(int y = 0; y < ui->tableWidgetPlotLineList->columnCount(); y++)
{
if(y == 1)
{
//install button widget for file selection
QPushButton *fileButton = new QPushButton();
if(setDataStruct.plotLineListData.at(rowCount).lineFileName != "");
{
fileButton->setText(setDataStruct.plotLineListData.at(rowCount).lineFileName);
}
else
{
fileButton->setText("Browse...");
}
ui->tableWidgetPlotLineList->setCellWidget(x, y, fileButton);
}
것은 내가
connect(ui->tableWidgetPlotLineList->row(x), SIGNAL(fileButton->clicked()), this, SLOT(selectPlotLineFile(x));
트릭을 할 수 있다는 생각하지만 난 아마 여기에 잘못된 방향으로 갈거야 생각합니다. 솔직히 나는 그것이 어디로 갈지에 관해서는 너무 확신하지 못한다 ...
내 게시물을 읽어 주셔서 고마워. 이 게시물에서 부족한 것이 있으면 알려 주시고 즉시 업데이트하겠습니다. 나는 또한이 포스트에 어떤 공헌든지 사전에 감사하고 싶으면!
흥미 롭군요.이 기능이 작동하는지 알아보기 위해 여기를 터치 한 일부 지점에 대해 조사를 수행해야합니다. 나는 다이내믹 캐스팅으로 일한 적이 없으며 접근 방법이 너무 명확하지 않습니다. 게시 한 코드에서 나는 dynamic_cast (보낸 사람()) 원래 단추를 눌렀을 대신 걸릴 것을 가져갑니다. 어떤 경우에 행을 selectPlotLineFile 매개 변수로 전달하도록 전달할 수 있습니다. 어떤 추가 생각 나는 연결 (fileButton, SIGNAL (clicked()), this, SLOT (selectPlotLineFile (x));? –
신호/슬롯 연결을 사용하여 전달 된 행을 지정할 수 없습니다. 맵과 같은 것을 사용하여 어떤 버튼이 어떤 행과 연관되어 있는지 추적 할 수 있습니다. – Chris
지도가 위젯의 벡터 또는 배열과 비슷합니까? 이제이 기능의 사용에 대한 조사를 할 것입니다. 인내심을 유지하면서 나는 여전히 학생 신분이다 .Lol은 아마 영원 할 것이다! –