项目: 学生管理系统 第19课
1. 事件驱动 为需要处理的事件编写相应的事件处理程序。 比如按钮事件
2. mesgBox 的使用
3 QlineEdit 的使用
3.1 想要密码方式显示(小黑点) : echoMode ->password 模式
alignment :文字对齐方式 clearButtonEnable : lineEdit 出现一个小按钮,点击一下就立刻清除了edit的内容。
placeholderText(占位) :灰色提示语。
信号: textFinished :表示当光标移动开这个 edit 的时候 就会触发这个信号 returnPressed :按下回车键
可以利用textChaged 当输入不是6位则把输入框显示为红色,当是6位则显示正常的颜色
4. comBox的使用:
双击combox 就可以弹出编辑组合框。然后在里面 点击对话框下面的加号 输入文字项 回车既可。
comBox 你可以从几组已知的数据里面选择一组数据用来作为输入。
属性->QcomBox->editable 启用,那么你不仅可以从预设的数据里面选择,也支持自定义输入数据,并且他默认会把你输入的数据也记录下来。
改变当前显示的那项:currentText
当前显示的那项 可以作为提示: “请输入学号 :”
5. RadioButton 是单选按钮。也就是一组RadioButton 按钮里面有且只有一个按钮会被选中。比如性别 属性
6. 文件操作 QFile QTextStream 文件操作转为流式操作 返回的就是QString 方便文件操作和QSring处理
#include <QFile> #include <QTextStream>
7. checkBox 多选框(复选框)比如:兴趣爱好
8. 子菜单的显示: action_about w; w.show() 或者 w.exec() 这是一个死循环这种情况下主窗口就被阻塞了 ,无法操作,不能采用这种。 this->a.show()
9. item view (model based) 和 item widgget(item based) 效果一样,但是使用方法不同 一个是基于数学模型的视图 一个基于条目的组件。 一个是视图 一个是组件。 tab_view tab_widget
10 添加学生界面
上面的表格窗口 采用tabView来实现。
tabview 的使用:典型的 mvc 模式 控制和 view分离。需要构建一个model .model负责表格的结构,每一行 显示什么,每一列显示什么。外观 颜色 字体 大小等由view设置。 view 和model绑定。 显示内容:有model来构造。你只需要区分是属于内容还是属于外观。
我们实际使用的是QStandardItemModel Class qt的 标准条目类型。
class QueryStu:public QDialog
{
Q_OBJECT
public:
QueryStu();
explict QueryStu(widget *parent=0);
~QueryStu();
void disp(int raw/*第几行*/,QString subs/*字符串集合 第几列由subs确定*/,)
private:
UI ::QueryStu *ui;
QList<QString> stu_lines;
QStandardItemModel *model;
};
#include "querystu.h"
QueryStu::QueryStu(QWidget *parent):QDialog(parent),ui(new UI::QueryStu)
{
this->model = new QStandItemModel;
//设置表头
this->model->setHorizontalHeaderItem(0,new QStandItem("姓名")); 第0列
this->model->setHorizontalHeaderItem(0,new QStandItem("学号")); 第1列
//绑定视图
this->ui->tabView->setModel(model); //这里只需要将model设置进去了就可以了。}
QueryStu::~QueryStu()
{
delete ui;
}
void disp(int raw/*第几行*/,QString subs/*字符串集合 第几列由subs确定*/)
{
int i=0;
for (i=0;i<subs.length,i++)
this->model->setItem(raw,i,new QStandardItem(subs.at(i))); //行,列,QStandardItem
//subs 表示 这些格子或者字符的集合。
}
项目: 学生管理系统 秒表项目 打地鼠项目
打地鼠有些主窗口界面 采用graphicsView 然后设置为整个垂直布局
知识点 :事件重写。 打地鼠游戏 留待以后有兴趣再学吧。
QT 学习资料https://blog.csdn.net/salmonwilliam/article/details/85566311
qt 分享https://bbs.csdn.net/topics/390932467
https://bbs.csdn.net/topics/390314521
https://download.csdn.net/download/weixin_42078760/10499227
https://blog.csdn.net/dpsying/article/details/80615320
https://blog.csdn.net/luoyouren/article/details/52473265
https://download.csdn.net/download/logttt/10773690
https://blog.csdn.net/MINGTING1323/article/details/80590379
https://blog.csdn.net/pan869823184/article/details/7360041
https://blog.csdn.net/qq_34384524/article/details/73195836
https://blog.csdn.net/qq214517703/article/details/52619368
https://blog.csdn.net/weixin_43324701/article/details/82979054
https://bbs.csdn.net/topics/390537825
https://download.csdn.net/download/parkchorong/10608717
https://blog.csdn.net/m0_38059843/article/details/78257664
https://blog.csdn.net/qq_37967635/article/details/85088704
https://bbs.csdn.net/topics/390445133
https://blog.csdn.net/gaoyu1253401563/article/details/81059847
https://blog.csdn.net/gaoyu1253401563/article/details/81059847