QFileDialog弹窗位置问题,急求!

vaychouzww 2017-11-22 02:34:33
现在有一个问题,当有多个显示器时候,发现QfileDialog弹出来时有时候会在屏幕内找不到,这到底是什么原因,或者有什么办法让Qfiledialog居中显示?急求
...全文
1727 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-09
  • 打赏
  • 举报
回复
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10794527.html
源代码大师 2021-05-08
  • 打赏
  • 举报
回复
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10794527.html
Rison13 2021-04-16
  • 打赏
  • 举报
回复
引用 9 楼 feiyangqingyun 的回复:
你傻呀,连show都没有,还指望对话框出来!
正确代码
QFileDialog *stFileDialog = new QFileDialog;
stFileDialog->setWindowTitle(QString::fromLocal8Bit("打开角标文件"));
stFileDialog->setNameFilter(QString::fromLocal8Bit("角标文件(*.png; *.jpg; *.bmp; *.gif)"));
stFileDialog->move(100, 100);
stFileDialog->show();
我用exec,show展示的窗口太丑了
忆秋年jd 2017-12-05
  • 打赏
  • 举报
回复
不指定父窗口任务栏就会有小窗口的。除非你设置了窗口属性为tool什么的
vaychouzww 2017-12-04
  • 打赏
  • 举报
回复
引用 9 楼 feiyangqingyun 的回复:
你傻呀,连show都没有,还指望对话框出来! 正确代码
QFileDialog *stFileDialog = new QFileDialog;
        stFileDialog->setWindowTitle(QString::fromLocal8Bit("打开角标文件"));
        stFileDialog->setNameFilter(QString::fromLocal8Bit("角标文件(*.png; *.jpg; *.bmp; *.gif)"));
        stFileDialog->move(100, 100);
        stFileDialog->show();
后面当然有exec(),忘了贴上来了,对话框肯定出来了,问题是这个move无法生效,它以前在哪个位置,现在还是哪个位置
feiyangqingyun 2017-11-25
  • 打赏
  • 举报
回复
任务栏本来就有QFileDialog的窗体的。
feiyangqingyun 2017-11-25
  • 打赏
  • 举报
回复
你傻呀,连show都没有,还指望对话框出来! 正确代码
QFileDialog *stFileDialog = new QFileDialog;
        stFileDialog->setWindowTitle(QString::fromLocal8Bit("打开角标文件"));
        stFileDialog->setNameFilter(QString::fromLocal8Bit("角标文件(*.png; *.jpg; *.bmp; *.gif)"));
        stFileDialog->move(100, 100);
        stFileDialog->show();
张小飞Official 2017-11-24
  • 打赏
  • 举报
回复
引用 7 楼 vaychouzww 的回复:
[quote=引用 5 楼 u010370871 的回复:] [quote=引用 4 楼 vaychouzww 的回复:] 不是位置获取不到,而是压根move没用啊,我move到0,0都不行
你这是多个显示器啊!! //获取你要显示的显示器ID,然后用这个函数 setGeometry();[/quote] 发现普通的Qdialog都能move,就QfileDIalog不能移动!另外还有一个问题 QfileDialog能不能在弹出的时候能在任务栏显示一个窗体?我怎么试都不行[/quote] 任务栏显示一个窗体?你指的是右下角显示一个图标?
feiyangqingyun 2017-11-23
  • 打赏
  • 举报
回复
new一个qfiledialog弹出,后move到指定位置
vaychouzww 2017-11-23
  • 打赏
  • 举报
回复
引用 5 楼 u010370871 的回复:
[quote=引用 4 楼 vaychouzww 的回复:] 不是位置获取不到,而是压根move没用啊,我move到0,0都不行
你这是多个显示器啊!! //获取你要显示的显示器ID,然后用这个函数 setGeometry();[/quote] 发现普通的Qdialog都能move,就QfileDIalog不能移动!另外还有一个问题 QfileDialog能不能在弹出的时候能在任务栏显示一个窗体?我怎么试都不行
vaychouzww 2017-11-23
  • 打赏
  • 举报
回复
具体怎么使用,还望解答!万分感谢!
张小飞Official 2017-11-23
  • 打赏
  • 举报
回复
引用 4 楼 vaychouzww 的回复:
不是位置获取不到,而是压根move没用啊,我move到0,0都不行
你这是多个显示器啊!! //获取你要显示的显示器ID,然后用这个函数 setGeometry();
vaychouzww 2017-11-23
  • 打赏
  • 举报
回复
不是位置获取不到,而是压根move没用啊,我move到0,0都不行
张小飞Official 2017-11-23
  • 打赏
  • 举报
回复
引用 2 楼 vaychouzww 的回复:
试了一下,发现move并没有用(Qt5.6) QFileDialog *stFileDialog = new QFileDialog; stFileDialog->setWindowTitle(QString::fromLocal8Bit("打开角标文件")); stFileDialog->setNameFilter(QString::fromLocal8Bit("角标文件(*.png; *.jpg; *.bmp; *.gif)")); stFileDialog->move(0, 0);
获取屏幕大小,然后算出来屏幕中间的位置,然后move到指定位置就可以了。
vaychouzww 2017-11-23
  • 打赏
  • 举报
回复
试了一下,发现move并没有用(Qt5.6) QFileDialog *stFileDialog = new QFileDialog; stFileDialog->setWindowTitle(QString::fromLocal8Bit("打开角标文件")); stFileDialog->setNameFilter(QString::fromLocal8Bit("角标文件(*.png; *.jpg; *.bmp; *.gif)")); stFileDialog->move(0, 0);

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧