在不会配置qt所以导致qt creator无法构建的情况下,我选择了用VS2017来学习qt(还是vs够傻瓜式233)
1.关于用C++写qt时,不能显示汉字的问题,使用UTF-8,百度后得到解决方案,可以添加一下代码行来解决:
#pragma once
#if _MSC_VER >= 1600
#pragma execution_character_set(“utf-8”)
#endif
2.在需要使用Lambda表达式时,Qt creator中需要在.pro 下添加 CONFIG +=c++11
而VS中要在 调试 ->XX属性 ->c/c++ ->所有选项中 ,把c++语言标准改为 14或17标准就好(百度得出是向下兼容的)。
3.在VS2017中,依照我找的学习视频,例如在UI界面右键如QPushButton 对象时没有 转到槽 ,则在 https://ask.csdn.net/questions/357189?sort=id 中我找到了答案,
(1)传统点可以使用connect(),虽然很烦
(2)也可以直接在类头文件中这样写:
private slots://当然你写public slots:也能运行的
void on_xxxxx_clicked();//xxxxx为它的ui中的QObjectName //clicked是在描述我的信号是按下
然后把它实现就好了,而且不需要写connect()
例如 ui中QObjectName 为change的按钮写法为 :
private slots:
void on_change_clicked();
void widget07::on_change_clicked()
{
ui.change->setText("没问题");
}
- ui中的部件在VS中打出 ui-> 时若没有显示此控件,大概是因为没有传过来吧,我这里是试了下,发现重新编译一下应该就传过来了(推荐写一个不完整的句子,这样他编译中断停下来然后报个错,这样会快点)
这里在我百度中得到一些答案:https://blog.csdn.net/ruofengtianxia/article/details/86566985
但是不怎么管用 。 (果然还是F5管用。。。)
- 哦,对了,关于 ui相关的 “ui_xxxxx.h” 和 Ui::XXX,初次编译前是会显示有错误的红线的,其实没什么,初次编译后Ctrl+S,会发现红线消失的。(推荐创建工程后先F5一次,会减少后面识别不到变量 ui 的问题)