có thể đây là câu hỏi ngớ ngẩn nhưng tôi mới sử dụng C++ và đến Qt. Vì vậy, xin lỗi vì sự bất tiện này.Thiết kế Qt: Tạo mảng tiện ích
Trong thiết kế Qt tôi là tạo ra nhiều nhãn (ví dụ):
my_label1
my_label2
my_label3
...
my_label n
Sau đó, nếu tôi muốn ẩn chúng tôi làm điều này:
ui->my_label1->hide();
ui->my_label2->hide();
ui->my_label3->hide();
...
ui->my_labeln->hide();
Tuy nhiên tôi muốn xác định các nhãn như
my_label[n]
Vì vậy, tôi có thể thực hiện việc này:
for(i=0;i<n;i++)
{
ui->my_label[n]->hide();
}
tôi đọc mà tôi có thể xác định các widget như:
QLabel* my_label[5];
nhưng là có cách nào để làm điều tương tự từ Qt Designer?
Cảm ơn trước!
Edit:
Cuối cùng tôi quyết định làm nhiệm vụ trực tiếp:
QLabel* my_label_array[5];
my_label_array[0] = ui->my_label1;
my_label_array[1] = ui->my_label2;
my_label_array[2] = ui->my_label3;
my_label_array[3] = ui->my_label4;
my_label_array[4] = ui->my_label5;
Sau đó, tôi có thể làm ví dụ:
for(idx=0;idx<6;idx++) my_label_array[idx]->show();
for(idx=0;idx<6;idx++) my_label_array[idx]->hide();
for(idx=0;idx<6;idx++) my_label_array[idx]->setEnabled(1);
for(idx=0;idx<6;idx++) my_label_array[idx]->setDisabled(1);
etc...
Sau đó, tôi đã có thể thực hiện lặp đi lặp lại. Tôi tin rằng đó không phải là cách sạch nhất để làm điều đó nhưng vì kiến thức cơ bản về Qt của tôi là ok cho tôi.
Cảm ơn bạn rất nhiều vì câu trả lời của bạn! Đây là một trang web tuyệt vời với những người tuyệt vời.
Arnold: Cảm ơn bạn đã trả lời của bạn! nhưng với kiến thức Qt cơ bản của tôi, cuối cùng tôi cũng đã trực tiếp chỉ định. Bên cạnh đó tôi cần phải làm nhiều hơn là chỉ ẩn. Dù sao tôi thực sự đánh giá cao sự giúp đỡ của bạn. – Fracu
Tôi nhận thấy rằng việc ẩn giấu không phải là mục tiêu duy nhất của bạn :) Bạn có thể tự mình trả lời và chấp nhận nó. Điều đó sẽ giữ nó ra khỏi kết quả tìm kiếm cho các câu hỏi chưa được trả lời. –
Tôi đã thử, tuy nhiên vì tôi ít hơn 100 danh tiếng, tôi phải đợi thêm ba tiếng nữa để làm điều đó. Cám ơn bạn một lần nữa! – Fracu