目录
QT设计器
- QT设计器
- 总结
- 框架
- 一些组件的使用
- 窗口(Widget)
- button
- 标准信号和槽(QT核心)
- 信号:
- close
- Boss样例
- 槽
- 自定义槽(普通函数的用法)
手工敲代码,效率极低 所以微软就开发了一个 RAD设计模式 因此我们可以由环境进行生成
设计器可以解决很多简单的问题(就是一些普通的工具)
总结-
创建工程并运行
-
理解工程文件结构(pro,h,cpp,ui), 程序入口: main
-
控制台
-
空项目 -> UI程序
int main(int argc, char *argv[])
{
// 应用程序类对象 有且只有一个
QApplication a(argc, argv);
//保持窗口不变
return a.exec();
}
一些组件的使用
窗口(Widget)
MyWidget name name.setWindowTitle(内容) 设置窗口标题
button定义 QPushButton b1(&对象) setText() 设置按钮内容 setParent() 设置按钮父类 name.move(x,y) 移动到
Q: 因为我们如果要定义100个Button不可能在主函数写100个 所以我们需要在 头文件里写(不能在cpp里写哦)
指针类型记得开辟this的空间
b2 = new QPushButton(this);
b2->setText(":_:");
b2->move(200,200);
标准信号和槽(QT核心)
让按钮有反应才行
信号:软件模拟的中断
close我这里定义的是指针 所以没有&
-
信号发出者
-
&发送者的类名::信号名字
-
信号接收者
-
&接受的类型::槽函数名字
connect(b2,&QPushButton::pressed,this,&MyWidget::close);
Boss样例
- 如果需要通过子类 来 调控父类 需要用到信号
- 信号必须有signals 信号就是函数的声明
QT5: 任意的成员函数,普通全局函数,静态函数
槽函数需要和信号一致(参数,返回值)
由于信号都是没有返回值,所以槽函数一定没有返回值
- 两个的 接收者 不同
- 可以自定义函数
- hide是隐藏
connect(&b1,&QPushButton::released,this,&MyWidget::mySlot);
connect(&b1,&QPushButton::released,b2,&QPushButton::hide);
void MyWidget::mySlot()
{
b1.setText("123");
}