1
I 작동 내 코드를 강화하려는
를 연결하지만 난 그렇게 실패하고 내 문제가 제대로 인수를 전달하는 방법이다, 내 말은 : 이것은 지금까지 노력하고 있습니다Qt는 문
void pracownik2::on_pushButton_4_clicked(){
this->setWindowTitle("EKRAN");
QWidget *centralWidget = new QWidget;
int licznik=1;
QString licz;
//QString kolumny = ui->lineEdit->text();
//QString wiersze = ui->lineEdit_2->text();
miejsca2 = ui->lineEdit_3->text().toInt();
//QPushButton *button[wiersze.toInt()][kolumny.toInt()];
QPushButton *button[3][6];
QGridLayout *controlsLayout = new QGridLayout;
for(int i=0;i<3;i++)
{
for(int j=0;j<6;j++)
{
licz = QString::number(licznik);
licznik++;
button[i][j] = new QPushButton(licz);
button[i][j]->setCheckable(1);
if(tab[i][j]==1)
button[i][j]->setEnabled(false);
controlsLayout->addWidget(button[i][j], i, j);
}
}
QPushButton *okej = new QPushButton("Zatwierdź");
QPushButton *anul = new QPushButton("Anuluj");
controlsLayout->addWidget(okej, 3, 0);
controlsLayout->addWidget(anul, 3, 1);
controlsLayout->setHorizontalSpacing(0);
controlsLayout->setVerticalSpacing(0);
centralWidget->setLayout(controlsLayout);
setCentralWidget(centralWidget);
for(int i=0;i<3;i++)
{
for(int j=0;j<6;j++)
{
connect(button[i][j],SIGNAL(toggled(bool)),this,SLOT(tescik(bool)));
}
}
connect(anul,SIGNAL(clicked()),this,SLOT(close()));
connect(okej,SIGNAL(clicked()),this,SLOT(okay2()));}
void pracownik2::tescik(bool t){
if (t)
{
miejsca++;
}
else
{
miejsca--;
}}
내가 'tescik을 원하는 내가 '와'현재 QPushButton을의 J '인덱스와 내가 어떻게 편집하는 내 연결 라인 아무 생각이 없다'기능도 내 배열의 값을 설정하는
void pracownik2::tescik(bool t, int i, int j){
if (t)
{tab[i][j]=1;
miejsca++;
}
else
{tab[i][j]=0;
miejsca--;
}}
나는 전달할 수 없습니다 '
connect(button[i][j],SIGNAL(toggled(bool)),this,SLOT(tescik(bool,int,int)));
그것은 int, int가 무엇을 의미하는지 아직도 모르겠다. 나는 어떻게 작동하는지 잘 모른다. :)
당신은 다른 서명을 신호와 슬롯을 연결할 수 있습니다. QPushButton을 확장하여 실제로 이런 식으로 이것을 원할 경우 자체 신호를 제공 할 수 있습니다. – doc
질문을 다시 게시하지 마십시오. 이전 질문 만 수정하십시오. Dup http://stackoverflow.com/questions/28125466/qt-disabling-dynamic-buttons – doc
@doc 사실 수 있습니다. 예를 들어 다음과 같이 할 수 있습니다 :'connect (sender, signalWithThreeArgs (bool, int, int)), reciever, SLOT (slotWIthOneArg (bool)))' –