首页 › 月度存档 › 7 月 2015

在socket中发送中文的方法

QT中封装的socket类有QUdpSocket 和QTcpSocket,但是发送和接受的函数

都是char类型的,而从文本中获取的数据是QString,如果是英文,一个字符占一个字节,直接用QByteArray  中的append方法即可

但是如果是中文,仅仅append,是不行的,QString.append(QByteArray)显示的话中文是乱码

需要在发送和接受的过程进行处理

发送时候,要发送的文本时QString str;

接收端

此时str中保存的就是中文

程序退出的几种方法

首先看函数QApplication::setQuitOnLastWindowClosed(bool) ,该函数的作用是
This property holds whether the application implicitly quits when the last window is closed.
The default is true

即控制着当最后一个可视的窗口退出时候,程序是否退出,默认是是的
如果使用app.setQuitOnLastWindowClosed(false);然后当该出窗口close以后,ps -e查看,我们发现应用程序仍旧在运行中

所以当此时,如果所有的窗口都响应了close(),那么application就退出了,

如果窗口关闭,就返回TRUE,否则返回FALSE
继续阅读 »

QComboBox用法小结

fromComboBox = QComboBox() 添加一个 combobox
fromComboBox.addItem(rates) 添加一个下拉选项
fromComboBox.addItems([“%d years” % x for x in range(2, 26)]) 从序列中添加
fromComboBox.setMaxVisibleItems(10) #设置最大显示下列项 超过要使用滚动条拖拉
fromComboBox.setMaxCount(5) #设置最大下拉项 超过将不显示
fromComboBox.setInsertPolicy(QComboBox.InsertAfterCurrent) #设置插入方式
继续阅读 »

QFileDialog的用法

Qt中 文件对话框QFileDialog 的使用
资料来源于Qt官方文档,我总结了其中常用到的部分:

一. 最简单的方法是调用静态函数来对话框获取文件:

这断代码可以建立一个取文件对话框,选择后OK将文件路径返回给file.
可以一次性打开多个文件,使用QStringList来保存打开的文件的路径
继续阅读 »

消去window的最大化和最小化按钮

同样可以使用

来为窗口添加上最大化和最小化按钮

事件Qevent的接受和忽略 和重定义 事件过滤器

事件处理流程:
某个事件发生——>exec()循环会接收到这个事件——>

创建一个事件对象,并将对象传递给QObject::event()——>

在QWidget::event()函数中,分配给特定的事件处理函数——>

在QButton的事件处理函数中emit(clicked消息)
继续阅读 »

QT事件过滤器

Qt事件模型一个真正强大的特色是一个QObject 的实例能够管理另一个QObject 实例的事件。

让我们试着设想已经有了一个CustomerInfoDialog的小部件。CustomerInfoDialog 包含一系列QLineEdit. 现在,我们想用空格键来代替Tab,使焦点在这些QLineEdit间切换。
继续阅读 »

QT 创建鼠标右键菜单

QWidget及其子类都可有右键菜单,因为QWidget有以下两个与右键菜单有关的函数:
Qt::ContextMenuPolicy contextMenuPolicy () const
void setContextMenuPolicy ( Qt::ContextMenuPolicy policy )

Qt::ContextMenuPolicy枚举类型包括:Qt::DefaultContextMenu, Qt::NoContextMenu, Qt::PreventContextMenu, Qt::ActionsContextMenu, and Qt::CustomContextMenu。
继续阅读 »

Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())

在Qt中设置widget背景颜色或者图片方法很多种:重写paintEvent() , 调色板QPalette , 样式表setStyleSheet等等。
继续阅读 »

setStyleSheet来设定窗口部件的样式

使用setStyleSheet来设置图形界面的外观:
QT Style Sheets是一个很有利的工具,允许定制窗口的外观,
此外还可以用子类QStyle来完成,他的语法很大比重来源于html的CSS,但是适用于窗口
继续阅读 »