找回密码
 立即注册
收起左侧

想定义一个弹出框,如何获取弹出框的数据?

7
回复
11368
查看
[复制链接]
累计签到:23 天
连续签到:1 天
来源: 2014-1-20 22:06:42 显示全部楼层 |阅读模式
2Qter豆
想自定义一个弹出框,如何获取弹出框的数据?  请各位指教
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

用Qt的标准输入框吧 bool ok; QString name = QInputDialog::getText(this,tr("User Name"), tr("Please input new name:"), QLineEdit::Normal,nameLabel->text(),&ok); if(ok && !name.isEmpty()) { nameLabel->setText(name); }
回复

使用道具 举报

累计签到:114 天
连续签到:1 天
2014-1-20 22:06:43 显示全部楼层
用Qt的标准输入框吧
    bool ok;
    QString name = QInputDialog::getText(this,tr("User Name"), tr("Please input new name:"), QLineEdit::Normal,nameLabel->text(),&ok);
    if(ok && !name.isEmpty())
    {
        nameLabel->setText(name);
    }
回复

使用道具 举报

累计签到:45 天
连续签到:1 天
2014-1-20 22:23:44 显示全部楼层
试试在堆上创建QDialog对象
回复

使用道具 举报

累计签到:23 天
连续签到:1 天
2014-1-21 08:26:48 显示全部楼层
黄弘玄 发表于 2014-1-20 22:23
试试在堆上创建QDialog对象

我是不知道,如何获取返回值???求教
回复

使用道具 举报

累计签到:45 天
连续签到:1 天
2014-1-21 21:59:41 显示全部楼层
cliffordl 发表于 2014-1-21 08:26
我是不知道,如何获取返回值???求教

先connect(),编写按钮事件函数。在对话框中创建QString getValue()函数,返回lineEdit中的数据,在父组件中创建函数调用getValue()就能获得数据;
回复

使用道具 举报

累计签到:113 天
连续签到:1 天
2014-1-24 13:30:35 显示全部楼层
看一下下面的代码:
void MainWindow:pen()
{
    QDialog dialog(this);
    dialog.setWindowTitle(tr("Hello, dialog!"));
    dialog.exec();
    qDebug() << dialog.result();
}
复制代码
上面的代码中,我们使用 exec() 显示一个模态对话框。最后一行代码,qDebug() 类似于 std::cout 或者 Java 的 System.out.println(); 语句,将后面的信息输出到标准输出,一般就是控制台。使用 qDebug() 需要引入头文件。在 exec() 函数之后,我们直接可以获取到 dialog 的数据值。注意,exec() 开始了一个事件循环,代码被阻塞到这里。由于 exec() 函数没有返回,因此下面的 result() 函数也就不会被执行。直到对话框关闭,exec() 函数返回,此时,我们就可以取得对话框的数据。
回复

使用道具 举报

累计签到:113 天
连续签到:1 天
2014-1-24 13:31:19 显示全部楼层
  1. void MainWindow::open()
  2. {
  3.     QDialog dialog(this);
  4.     dialog.setWindowTitle(tr("Hello, dialog!"));
  5.     dialog.exec();
  6.     qDebug() << dialog.result();
  7. }
复制代码
回复

使用道具 举报

累计签到:23 天
连续签到:1 天
2014-2-7 10:33:54 显示全部楼层
Marvelous 发表于 2014-1-22 09:55
用Qt的标准输入框吧
    bool ok;
    QString name = QInputDialog::getText(this,tr("User Name"), tr("P ...

这个只是一个简单的输入框,我还有更复杂的输入框,所以不知道标准输入框能不能用,就没用。标准输入框的第一个参数是this,但是我自定义一个弹出窗口的时候,部件并没用弹出,而是嵌入到父窗口中了,这又是为什么呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了