接上次
QMainWindow:QMainWindow类提供一个有菜单条、锚接窗口(例如工具条)和一个状态条的主应用程序窗口。 主窗口通常用在提供一个大的中央窗口部件(例如文本编辑或者绘制画布)以及周围菜单、工具条和一个状态条。
这里贴一个地址:http://www.kuqin.com/qtdocument/qmainwindow.html#details
QMainWindow::close() //点击窗口的右上角的X的时候 执行 它又会去调用QMainWindow::closeEvent(QCloseEvent *)
//默认就是退出程序了
使用的地方在:windows的记事本的文件菜单的最后一个菜单项是 <退出> ,点击的时候 先判断窗口中的内容是否发生修改 从而决定是否进行保存 当点击了保存或者不保存并且完成了相关操作之后 从而退出程序
///
QString :类似于c++中STL中的string类 java 中的String类
clear() //清空字符串 里面什么也没有 类似char *str="";
///
QMainWindow: 上面已经介绍
当点击窗口的右上角的X时候,首先是 QMainWindow::close()函数的执行,这个函数会进一步调用QMainWindow::closeEvent(QCloseEvent *),所以要想在关闭窗口的时候做一些事情那就要在继承自QMainWindow的派生类中覆盖这个方法,我就覆盖了这个方法,为的就是在关闭窗口的时候 判断文本区中的内容是否被修改过 从而提示是否对其进行 。
大体的框架如下:
class son_class::public QMainWindow
{//... ...
};
void son_class::closeEvent(QCloseEvent *event)
{//你准备做的
QMainWindow::closeEvent(event);//向下传递给基类的成员函数 (这种手段貌似很常用)
}
如果在弹出的询问是否保存的窗口中点击了取消 那么就是不进行保存也不退出程序 那么就
应该忽略这个事件 也就是
event->ignore() //这样就可以了 (函数名挺形象化)
当然也就有对立的event->accept() //接受某个事件 这次我没有使用 (也挺形象化)
///
QAction:前面写过了
isCheckable() //判断一个菜单项前面是否有对号或其它标记之类的 返回bool
///
QTextEdit: 前面写过了
setWordWrapMode(QTextOption::NoWrap); //设置水平滚动条
edit->setWordWrapMode(QTextOption::WordWrap); //取消水平滚动条 目的是 模仿windows记事本的 自动换行
///
QFontDialog: (标准对话框)字体对话框 可以进行选择字体
使用还是较简单的
QFont font; //设置的字体
QFontDialog font_dlg; //字体对话框
bool is_choosed; //是否选择了颜色
font = font_dlg.getFont(&is_choosed);
if (is_choosed) //确实选择的字体
{
edit->setFont(font);
}
当点击了字体对话框中的取消的时候 getFont()的参数的bool的值将被置为false 说明没有进行颜色选择 所以需要判断is_choosed的真假
效果:
/
QColorDialog:(标准对话框)颜色对话框
用着也不难
QColorDialog color_dlg; //颜色对话框
QColor color; //字体预设置的颜色
color = color_dlg.getColor(Qt::black); //起始颜色为黑色
if (color.isValid()) //选择了颜色
{
//使用这个颜色
}
和文件对话框一样 当点击了颜色对话框上的取消按钮之后 返回一个无效的颜色 所以需要判断这个颜色是否有效 color.isValid()返回bool值
效果: