qt_简易记事本_3

接上次

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值

效果:

发现了 它们全是英文 显示 我没有做处理 去看看QTranslator 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值