qt designer启动后不显示界面问题的原因与解决办法

转载自:http://www.th7.cn/Program/cp/201607/905852.shtml

本人补充:
  1、Qt5.7也具有同样的问题(环境:win10X64、VS2015、Qt5.7、双显卡:集显和NVIDIA)
  2、第二种解决方法可以 随意 重命名或者 删除掉(影响未知)。

原文:
  Qt 5.6.1无论是在vs里双击ui文件还是直接启动designer.exe都一直无法显示界面,但任务管理器中可以看到该进程是存在的。前几天还正常的,但昨天加了一块NVIDIA的显卡(机器自带核显),可能与此有关。幸好还可以通过QtCreator打开ui文件进行编辑。

  找到了对应Qt bug但还是打开状态。。。地址如下:https://bugreports.qt.io/browse/QTBUG-53984

  根据bug描述应该是在win10 64位系统并且是双显卡的情况下,Qt5WebEngineWidgets.dll在designer启动时会卡住,最终导致designer一直不显示界面。

原因如上,解决方案如下:

  1、用QtCreator代替
  2、重命名Qt5WebEngineWidgets.dll
  3、Qt更换为5.6.0
  4、编码时不用那个NVIDIA的显卡(理论可行,未测试)
  5、等bug修复后的版本
  6、自己找到有问题的代码,自行修改编译

  以上方案任选一个即可,我选了方案1,反正也不常用designer,等着方案5或者过一阵需要定制Qt代码时,顺手把问题改了(方案6)。应该没有其他可行方案了吧,如果有的话,欢迎回复,谢谢!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,以下是在Qt Designer中创建一个界面,添加一个QLabel控件用于显示当前时间的具体步骤: 1. 打开Qt Designer,创建一个新的窗口(File -> New -> Main Window)。 2. 在左侧窗口中选择“Widgets”,然后在右侧窗口中找到“Label”控件,将其拖动到窗口中。 3. 在右侧属性栏中,将该Label的名称设置为“label_time”,然后设置其字体、大小、颜色等属性。 4. 在窗口中添加一个QPushButton控件,用于启动时钟。 5. 右键单击QPushButton控件,选择“Go to slot...”,然后在弹出的对话框中选择“clicked()”,点击“OK”。 6. 在mainwindow.cpp文件中生成槽函数,用于启动时钟。在该槽函数中,使用QTimer类实现定时器功能,并使用QDateTime类获取当前时间并将其转换为字符串,最后更新QLabel控件上的显示内容。 下面是mainwindow.cpp文件的示例代码: ```c++ #include "mainwindow.h" #include "ui_mainwindow.h" #include <QTimer> #include <QDateTime> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pushButton_clicked() { // 启动定时器 QTimer *timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(updateTime())); timer->start(1000); // 每隔1秒更新一次时间 } void MainWindow::updateTime() { QDateTime currentDateTime = QDateTime::currentDateTime(); QString currentTimeStr = currentDateTime.toString("hh:mm:ss"); ui->label_time->setText(currentTimeStr); } ``` 这样,就完成了在Qt Designer中创建一个界面,添加一个QLabel控件用于显示当前时间的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值