平时上课还是很忙,就只有晚上抽点时间学学。
IDE用的是qt creator,很好用。
《C++ GUI Programming with Qt 4》看到第二章结束。自己写了一个替换对话框。先贴自己的读书笔记,代码最后贴。
QLabel 可以显示html代码
QObject::connect( button,SIGNAL(clicked()),&app,SLOT(quit()));
SIGNAL(func1()) SLOT(func2()) 当func1被调用(产生信息),func2也被调用
emit 触发信号 宏
qt对话框是对QDialog类的继承 要使用signals 和 slots 要包含 Q_OBJECT
moc 类定义必须放在头文件而不能放在实现文件中
信号和槽:
一个信号连接多个槽 槽的调用顺序是随机的
信号可以和信号连接 但一个信号发出 另一个信号也将发出
信号和槽函数必须有着相同的参数类型 如果信号里的参数个数多于槽函数的参数
使用 designer
建立cell.ui文件 在代码中就包含 ui_cell.h头文件 类为 UI::Name
通常对该类进行继承来完成其他功能 在cell.h头文件中完成继承 在代码中就可以直接使用cell.h头文件了
setupUi函数可以画出设计好的界面
一个控件如果有父控件,那么在父控件被删除以后 子控件也会被自动删除
使用qt Designer 可以不改变源程序的情况下改变对话框的设计
对ui的继承可以使用 单继承和多继承 单继承要在类内保存ui的指针 多继承申明以后的类可以直接使用
动态对话框:
子控件可以用QObject::findChild<T>()得到
QComboBox *primaryColumnCombo = sortDialog->findChild<QComboBox *>("primaryColumnCombo");
QUiLoader 类在一个单独的链接库中,如果在一个应用程序中使用了QUiLoader,必须在这个程序的.pro 文件中添加下面这样的代码