- 论坛徽章:
- 0
|
本帖最后由 qspy 于 2012-04-25 23:38 编辑
临时创建一个QDialog,想让其接收ok键然后返回accepted和rejected;代码如下,此代码的问题是按ok或cancel都没有响应,即不退出dialog也不执行操作
求助,谢谢- QDialog *logtimeout = new QDialog(this);
- //QDialogButtonBox *btn = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
- QLabel *lab = new QLabel(QString::fromLocal8Bit("时间(秒)"),logtimeout);
- QLineEdit *time = new QLineEdit(logtimeout);
- QPushButton *ok = new QPushButton(QString::fromLocal8Bit("确定"),logtimeout);
- QPushButton *cancel = new QPushButton(QString::fromLocal8Bit("取消"),logtimeout);
- lab->setGeometry( QRect(10, 20, 60, 22) );
- time->setGeometry( QRect(75, 20, 60, 22) );
- //btn->setGeometry( QRect(10, 44, 80, 22) );
- ok->setGeometry( QRect(10, 44, 40, 22) );
- cancel->setGeometry( QRect(75, 44, 40, 22) );
- logtimeout->setWindowTitle( QString::fromLocal8Bit("设置录制时间") );
- //connect(ok,SIGNAL(accepted()),logtimeout,SLOT(done()));
- //connect(cancel,SIGNAL(rejected()),this,SLOT(reject())); //close all window
- connect(ok, SIGNAL(accepted()), logtimeout, SLOT(accept()));
- connect(cancel, SIGNAL(rejected()), logtimeout, SLOT(reject()));
- if( logtimeout->exec() == QDialog::Accepted ){
- m_loginsec = time->text().toInt();
- }
复制代码 |
|