‘壹’ 我用的是qt4.7,xp下运行,请问如下程序如何运行,新建一个什么模板qt gui应用还是什么
我想,你还是先看看书吧。。。。
lastWindowCLosed()信号是指最后一个窗口关闭,通常是单击了那个红色的关闭按钮,或者程序里直接使用了close()函数。
你是想单击hello这个button后关闭窗口吧?那就connect(&hello,SIGNAL(clicked()),&a,quit());
如果用qt creator做这个的话,会更加方便。
帮助文档有例子
‘贰’ 如何用Qt编一个文本编辑器
1、能够进行文档输入。
QPlainTextEdit控件足够满足所有需求。
2、能够进行编辑,包括字体、字体大小、颜色、复制、粘贴等。
编辑 —— QPlainTextEdit足以。
复制粘贴 —— QPlainTextEdit足以。
字体、字体大小、颜色 —— 从第三点可以看出,这个软件处理的是txt文本文件。文本文件没有编辑字体概念,只有显示字体——因为它是无格式的,非富文本信息,我们只能设置用什么字体显示,而不是标题用什么字体,正文用什么字体——那个请用word。
所以,如果是处理txt的,那个叫显示字体。QPlainTextEdit的内容存储于QTextDocument,该控件本身是QWidget,二者都可以用QFont设置字体和字号,具体请查阅相关API。
至于字体颜色,这个在QPlainTextEdit里是前景色,请使用QPalette调色盘修改设置。
3、能够打开并显示、保存和另存为.txt文件。
显示,查阅QPlainTextEdit文档。
打开、保存,后台部分,请查阅QFile和QTextStream类的文档。
界面控制部分,请用Qt Designer(Qt设计师),建立一个MainWindow工程,然后自行编辑菜单栏和工具栏,然后用信号槽执行后台操作。
4、能够将.txt文件输出为PDF文件。
方法一:使用QPdfWriter,手动进行输出。
方法二:使用QPrinter,调用系统打印机进行输出。Adobe Reader之类的强力PDF浏览器,会在系统打印机里添加PDF打印机,用那个打印为PDF文件即可。
5、同上方法二
6、能够建立一个查找对话框,进行查找
说真的,用文本编辑器做毕设真的是自虐,这个涉及到的技术内容基本涵盖了整个GUI开发理论了……
查找对话框,用QDialog做
字符串查找,应该没难点吧?
查找到后,界面上的光标定位和选中、高亮,使用QTextDocument和QTextCursor开发。
‘叁’ 用qt怎么编译一个c程序
qt几?用gcc编译。不过要用qt的工具先生成Makefile文件。一般是qt里自带的qmake工具。首先先写好cpp和头文件,在当前目录下依次执行qmake -project,qmake,make即可编译。
‘肆’ 如何用qtreator编译linux 模块
wanglj@localhost testQT]$ make
g++ -o testQT main.o -L/opt/Qt5.1.1/5.1.1/gcc_64/lib -lqt-mt -lXext -lX11 -lm
main.o: In function `main':
/home/wanglj/testQT/main.cpp:6: undefined reference to `QApplication::QApplication(int&, char**, int)'
‘伍’ Qt 做界面 c++环境下编译
用QT和VS集成就行了,下载对应版本的QT源码,然后在VS命令行下进行编译,然后下一个VS的QT插件。然后VS建立QT工程,用Qt Designer编辑ui界面文件,也可以直接在VS里面编辑ui文件。具体你自己研究
‘陆’ linux下QT写文本文件
QT 我不懂,但 C 是可以的,参考程序:
#include<stdio.h>
#include<string.h>
intmain()
{
FILE*myfile=fopen("test.txt","w");
charmsg[]="为中华之崛起而读书";
fwrite(msg,strlen(msg),1,myfile);
fclose(myfile);
return0;
}
‘柒’ QT:怎么编译helloworld.cpp
你实际上已经编译链接通过了,因为qttest.exe已经生成了,对,dll的那个错误就是加个环境变量,加好了理论上就应该可以运行了
mingw32-make就是你要用的make,也就是我们说的编译器,mingw32-make的话就是mingw编译器,如果你想用gcc或者vc的话就要用与之对应的编译器,vc命令行的话应该是vc安装目录bin下的nmake
‘捌’ qt编程:知不知道怎么从各文本框里提取文本,按照我规定的格式组装文本,把文本存到文件里
1、文本框中提取文本,lineEdit->text()
2、组装文本使用QString类的函数。
3、保存到文件中使用QFile类,例如:
QFile file(strFilePath);
if (!file.open(QIODevice::WriteOnly))
{
return false;
}
//关联文件流并保存
QTextStream out(&file);
for (int i=0; i<m_systemParam.m_nLevelCount; i++)
{
out << "Level" << i+1 << ":" << '\t';
out << QString::number(m_levelVoltages[i].m_dSetPressure, 'f', 2) << '\t';
out << QString::number(m_levelVoltages[i].m_dAbsoluteError, 'f', 2) << '\t';
out << QString::number(m_levelVoltages[i].m_dFactPressure, 'f', 2) << '\t';
out << QString::number(m_levelVoltages[i].m_bIsOutErrorRange, 'f', 2) << '\n';
}
file.close();
return true;
‘玖’ Qt下如何编译库
一般分为动态库和静态库,方法分别如下:
一.
静态库的生成
1.
测试目录:
lib
2.
源码文件名:
mywindow.h,
mywindow.cpp
3.
编写项目文件:
mywindow.pro
注意两点:
TEMPLATE
=
lib
CONFIG
+=
staticlib
4.
生成Makefile:
qmake
mywindow.pro
5.
编译生成静态库libmywindow.a
make
二.
静态库的使用
1.
测试目录:
test
2.
将mywindow.h与libmywindow.a拷贝至test目录下
3.
编写main.cpp,
包含头文件mywindow.h,
并调用MyWindow类
4.
编写项目文件:
test.pro
注意加上库路径与库文件名:
LIBS
+=
-L
./
-lmywindow
5.
生成Makefile:
qmake
test.pro
6.
编译:
make
7.
运行:
./test
三.
动态库的生成
动态库编译基本和静态库类似,需要将上述将要进行编译的项目文件.pro中下面这行去掉
CONFIG
+=
staticlib
按上述操作编译完后就可以得到以lib开头并且.so*
结尾动态库文件,一般有多个。
‘拾’ qt在linux下怎么编译生成webengine模块
[wanglj@localhost testQT]$ make
g++ -o testQT main.o -L/opt/Qt5.1.1/5.1.1/gcc_64/lib -lqt-mt -lXext -lX11 -lm
main.o: In function `main':
/home/wanglj/testQT/main.cpp:6: undefined reference to `QApplication::QApplication(int&, char**, int)'
main.o: In function `QString':
/usr/include/QtCore/qstring.h:413: undefined reference to `QString::fromAscii_helper(char const*, int)'
main.o: In function `main':
/home/wanglj/testQT/main.cpp:7: undefined reference to `QLabel::QLabel(QString const&, QWidget*, QFlags<Qt::WindowType>)'
main.o: In function `~QString':
/usr/include/QtCore/qstring.h:869: undefined reference to `QString::free(QString::Data*)'
/usr/include/QtCore/qstring.h:869: undefined reference to `QString::free(QString::Data*)'
collect2: ld 返回 1
make: *** [testQT] 错误 1
但若直接用 qtcreator 打开编译,则无错误
并且find -name libqt-mt* 也找不到其他版本的该文件
用qtcreator编译好的可执行文件,也找不到连接该lib文件
[wanglj@localhost build-testQT-桌面-Debug]$ ldd testQT
linux-vdso.so.1 => (0x00007fff4ddff000)
libQtGui.so.4 => /usr/lib64/libQtGui.so.4 (0x000000397f000000)
libQtCore.so.4 => /usr/lib64/libQtCore.so.4 (0x000000397ea00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003978600000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fda6a081000)
libm.so.6 => /lib64/libm.so.6 (0x0000003977a00000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003983a00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003977e00000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x000000397a600000)
librt.so.1 => /lib64/librt.so.1 (0x0000003978e00000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000003979200000)
libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x000000397be00000)
libz.so.1 => /lib64/libz.so.1 (0x0000003978a00000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x000000397ba00000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x0000003979e00000)
libSM.so.6 => /usr/lib64/libSM.so.6 (0x0000003985a00000)
libICE.so.6 => /usr/lib64/libICE.so.6 (0x0000003984e00000)
libXi.so.6 => /usr/lib64/libXi.so.6 (0x000000397ce00000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x000000397d600000)
libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x000000397de00000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x000000397da00000)
libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x000000397e200000)
libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x000000397e600000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x000000397d200000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x000000397c600000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x000000397b600000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003978200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003977600000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x0000003983600000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x000000397c200000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x000000397ae00000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x000000397aa00000)
------解决方案--------------------
INCPATH = -I/usr/lib64/qt-3.3/mkspecs/default -I. -I. -I$(QTDIR)/include
这一行看上去你调用的qmake不是5.1.1的。试试指定完整路径运行qmake
/opt/Qt5.1.1/5.1.1/gcc_64/bin/qmake testQT.pro