加載我有以下情況:如何設置文本的UI標籤是由QUiLoader
- 加載UI按鈕是中央窗口部件佈局的一部分。
- 中央小部件在Load Ui按鈕右側有一個QWidget。該小部件的主佈局 有兩個更多的空佈局lay1和lay2
- 點擊Load Ui Ui窗體,通過動態ui加載程序將QLable(此處打印)和QPushButton(載入線路編輯器)加載到lay1。
- 在點擊載重線編輯器將添加QLineEdit的到lay2
現在我要帶線編輯的文本,並將其打印到QLabel(「打印這裏」)
我無言以對怎麼辦而不用做任何中間變量。
以下是主窗口類定義的一部分:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
lay1 = new QHBoxLayout;
lay2 = new QHBoxLayout;
laymain = new QVBoxLayout;
laymain->addLayout(lay1);
laymain->addLayout(lay2);
ui->widget->setLayout(laymain);
connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(LoadEdit()));
}
void MainWindow::LoadEdit()
{
if(lay1->isEmpty())
{
QUiLoader load;
QFile file("E:\\WorkFolder\\Qt\\ValueOfFilter\\PrintValue.ui");
file.open(QIODevice::ReadOnly);
QWidget * edit = load.load(&file,this);
lay1->addWidget(edit,Qt::Horizontal);
edit->addAction(act);
QPushButton * textbutton = edit->findChild<QPushButton*>("pushButton");
connect(textbutton,SIGNAL(clicked()),this,SLOT(LoadEditClicked()));
}
void MainWindow::LoadEditClicked()
{
if(lay2->isEmpty())
{
QLineEdit * lineedit = new QLineEdit;
lay2->addWidget(lineedit);
}
//want to take text from lineedit and print it to label
}
lineedit和標籤是當地兩個插槽見定義插槽LoadEdit()和LoadEditClicked() – 2013-03-20 05:17:06