随笔分类 - Qt
QT基础五
摘要:18.1Creaing ThreadsQt中提供多线程的机制很简单:创建QThread的派生类,并重新实现其保护成员函数run()。QThread::run(),被调用来开始线程的执行,在run()结束时线程终止。QThread::terminate(),用来终止线程的执行,非阻塞操作,并不保证线程的立即终止;可以在调用QThread::terminate()之后调用QThread::wait()来实现同步等待。terminate()并不是值得推荐结束线程的方法,因为它强制线程终止而不给线程任何清场的机会。18.2Synchronizing ThreadsQt提供的用于线程同步的类包括QMut
阅读全文
QT基础二
摘要:Subclassing QMainWindow应用程序的主窗口是通过创建QMainWindow的派生类来完成的。QMainWindow和QDialog一样,都是派生自QWidget。closeEvent()是由QWidget提供的一个虚函数,在用户关闭窗口时会被自动调用。setCentralWidget()将某个Widget设置为主窗口的central widget, 而central widget意味着在显示时会占据主窗口的中央位置。Qt下的GUI 编程支持多种图形格式。可以使用多种方式为应用程序提供图像,最常见的包括:1).将图像存储在文件中,运行时加载之。2).在源码中include X
阅读全文
QT基础三
摘要:4.1The Central WidgetQMainWindow的中央区域可以被任何类型的widget占据。4.2Subclassing QTableWidgetQTableWidget会自动创建QTableWidgetItem来存储用户的输入。QTableWidgetItem类并不是widget,而是一个纯粹的data class。QTabeWidget::setItermProtype()可以设置在获得用户输入的情况下自动创建哪种cllass。4.3Loading and SavingQFile & QDataStreamQFile的析构函数负责将打开的文件关闭。QDataStream类具
阅读全文
QT基础一
摘要:Qt中的每个类,都有一个对应的同名头文件,其中包含其类定义。例如要使用QApplication类,则需要在程序中添加" #include < QApplication> "QApplication类用于管理应用程序范围内的资源。其构造函数需要main函数的argc和argv作为参数。widget被创建时都是不可见的(always created hidden)。widget中可容纳其它widget。Qt中的widget在有用户行为或状态改变时会emit signal。 signal可以和slot函数连接在一起(connect),这样当有signal被emit时,
阅读全文
Qt 让QLabel自适应text的大小,并且自动换行(转)
摘要:在实现了newform的2个页面的功能以后,为了完善产品的人性化,我在第2个页面上增加了一个显示前面已经选择的路径和模板名称的功能。但是这里就遇到了一个问题,如果万一用户选择的路径和名称都太长了,那么下面在显示的时候就会截断,这就很不爽了。 别看这个小问题,这就涉及了2个技巧。1. 让QLabel自适应text的大小,直接用下面的代码:LabelName->adjustSize();2. 让QLabel能够自动判断并换行显示:LabelName->setGeometry(QRect(328, 240, 329,27*4)); //四倍行距LabelName->setWordW
阅读全文
QT中文显示乱码解决
摘要:问题如下:1.中文显示乱码2.数据库连接不上问题一:但是如果我们的软件只运行在中文系统下,最简单的方法:在main函数中调用QTextCodec::setCodecForTr( QTextCodec::codecForName("GBK") );就可以了。记得这句要在所有使用tr的语句前调用。以后在需要使用中文的地方使用tr("中文字符");就可以了。但事情真的这么简单吗?当我将一个测试程序拷贝到一台没装过Qt的电脑上时,tr中的字都显示不了了。奇怪的是用Creater IDE生成的UI界面中的汉字能正常显示。看了qmake生成ui的.h文件,发现那些中
阅读全文
Qt安装—搭建VS2008+QT开发环境(转)
摘要:(一)工欲善其事,必先利其器,废话不多讲。总结起来网上流行的VS2008+QT安装说明有以下几个问题需要解释清楚: 1,首先明确需要下载什么版本的QT。网上流行的安装说明只是针对过去旧版本的QT,还有要求下载VS2008 SP1补丁的等等。很乱,对于刚接触Qt开发者会造成不必要的困扰,安装个开发环境真的需要那么繁琐和劳神吗。 2,对于环境变量的配置,诸如path,QTDIR 和WindowsSdkDir等等。实际上都是旧版本的Qt,新版本的Qt已经不需要设置了。 3,真的必须要configure 和nmake QT吗?对于漫长的编译过程和七七八八的编译错误?我们完全没有不必要折腾了,这里我们下
阅读全文
使用Visual Studio(VS)开发Qt程序代码提示功能的实现(转)
摘要:伴随着系统的重装VS和Qt也重新安装与配置。噢!问题出现了,VS可以识别QT,但是代码提供功能对QT完全失效,而且在VS中右键-->转到定义,直接提示“未定义的符号”,天啊!VS代码提示功能找不到Qt的文件了。借助Google和Baidu,再加上自己的摸索,终于是功夫不负有心人,让我找到了问题的所在,并且也发现了VS代码提示功能的关键点所在,记录下来备忘:首先,在做菜之前先介绍一下原材料,既然是VS IDE的代码提示,当然VS是少不了的,另外还有一个“关键先生”是vs assistant(VS代码助手)。其次,配置VS使之可以识别Qt文件,也就是当鼠标放到QMainWindow上面点右键
阅读全文
浙公网安备 33010602011771号