• 4052阅读
  • 7回复

[提问]standard dialogs,如何获得用户按键? [复制链接]

上一主题 下一主题
离线caiwei_cs
 

只看楼主 倒序阅读 楼主  发表于: 2014-09-02
比如用户按了取消或者打开。我如何知道。
截图里面,有qmessagebox的获得方法。不过qfiledialog等我就不知道了。
求助


离线uidab

只看该作者 1楼 发表于: 2014-09-02

刚发错了。





1条评分金钱+5
caiwei_cs 金钱 +5 - 2014-09-02
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线caiwei_cs

只看该作者 2楼 发表于: 2014-09-02
我这样实现了。

QFileDialog dialog(
                    this,
                    "选择配置文件",
                    QDir::currentPath(),
                    "Document files (*.txt *.doc);;All files(*.*)");
         dialog.setFileMode(QFileDialog::AnyFile);
         int res = dialog.exec();
         qDebug()<<"res:"<<res;     //如果选择cancle res 为 0;
         if(QFileDialog::Rejected == res)
         {
             QMessageBox::warning(this,"注意","请选择文件!",QMessageBox::Ok);

         }
         else if(QFileDialog::Accepted == res)
         {
             QStringList fileNames;
             fileNames = dialog.selectedFiles();
             filename = fileNames.at(0);

             QMessageBox::information(0,"消息","文件 "+filename+" 被选中",QMessageBox::Ok);
             wifiPrmFile =  new QFile(filename);
         }

离线uidab

只看该作者 3楼 发表于: 2014-09-02
  1. QFileDialog fffa;
  2.     connect(&fffa, SIGNAL(accepted()), this, SLOT(tttt()));
  3.     connect(&fffa, SIGNAL(rejected()), this, SLOT(nnnn()));
  4. fffa.exec();





它是有信号的,刚才以为是CFileDialog呢。看错了!

有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线dbzhang800

只看该作者 4楼 发表于: 2014-09-02
回 caiwei_cs 的帖子
caiwei_cs:我这样实现了。
QFileDialog dialog(
                    this,
                &n .. (2014-09-02 16:16) 

这个实现和直接判断那个static函数返回的文件路径是否为空 有什么区别?
离线roywillow

只看该作者 5楼 发表于: 2014-09-02
用QFileDialog的static函数,返回值为空就是点了取消,因为不选择就点确定是无法关掉对话框的
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线caiwei_cs

只看该作者 6楼 发表于: 2014-09-04
回 roywillow 的帖子
roywillow:用QFileDialog的static函数,返回值为空就是点了取消,因为不选择就点确定是无法关掉对话框的 (2014-09-02 21:55)

哪个函数?什么名字?你是说是我用的么,然后判断返回文件名么?
ilename = QFileDialog::getOpenFileName();

离线weiweiqiao

只看该作者 7楼 发表于: 2014-09-05
回 caiwei_cs 的帖子
caiwei_cs:哪个函数?什么名字?你是说是我用的么,然后判断返回文件名么?
ilename = QFileDialog::getOpenFileName();
 (2014-09-04 11:37) 

正确。
Jobs Insanely Great.
快速回复
限100 字节
 
上一个 下一个