学习中遇到的问题集锦
学习资料是<
界面尽量全部使用设计器完成
不会的地方: 1帮助文档 2百度
1.安装qt5 for vs2010后,无法编译程序
编译时, cl.exe 找不到, 重装一次好了
重装后, 编译时, 找不到stddef.h文件, 在环境变量path中添加C:\Windows\System32之后, 好了
2.使用设计器给菜单添加信号槽
button点右键,可以选择"转为槽"来添加信号槽
但是菜单却不行.解决方法是, 菜单设计好后, 直接添加响应函数.
如在相应窗体中添加函数
protected slots:
void on_actionAction2_triggered(); /* 这里的actionAction2就是QAction对象的名称,triggered是槽名 这种格式是固定的
3. 使用设计器, 给两个控件互相添加信号槽
如下图: spinbox和slider联动. 注意, 信号槽编辑器中, 先在第一行填好后, 需要点一下绿色加号.
4.设计器的使用, 添加action到菜单栏和工具栏
找到action编辑器-->新建actin-->填写action的信息-->把建好的action拖到菜单栏或者工具栏. 如下图
5 调整控件tab顺序
6 再添加一个.ui文件.
现在想在点击菜单的时候, 弹出一个对话框.
1).添加一个新文件->QT->qt 设计界面-->选择新建对话框, 这样产生了.h, .cpp, .ui三个文件, 并且自动在.pro文件中添加了这3个文件.
2)在菜单响应函数中 : Dialog111*pdlg=newDialog111(this); pdlg->show();添加这2行代码. 编译, 出现unresolved错误.
3)这时, 需要右键工程-->执行qmake, 再编译, 成功弹出模态对话框
注意: 对话框show是非模态的(如果没有指定modal属性), 而exec()总是模态的. 还有如果不设置父窗口this, 指针pdlg不会自动析构..设置Dialog111(this), 则this析构时, pdlg也会析构
7 QT样式表 (QStyleSheet)
修改颜色什么, 都需要修改设计器中控件的stylesheet这个属性, 详细的搜索百度
8 动态添加组件
QFormLayout *pQLayout = this->findChild<QFormLayout*>("formLayout");
pQLayout->addWidget(new QPushButton("hi"));