『壹』 我用的是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