QLineEdit problem

喜歡程式設計嗎?想要一窺 KDE/Qt 程式設計的奧秘嗎?想要
學習 X Window 上的視窗程式設計嗎?歡迎各類關於 KDE/Qt、Qtopia、Qt/Embedded、QSA、PyQt 等各類心得討論。

版主: AceLan, Franklin

QLineEdit problem

文章turtle1234 » 週三 5月 28, 2008 12:19 pm

各位大大您們好
可以請問一下
如果我用QLineEdit
我如果想要在QLineEdit點兩下就可以有event發生
可是找了好久都沒找到> <
如果用mousedoubleclicked的話
每個QLineEdit的event就會同時發生
不知各大大可以教教我們
感激不盡> <
turtle1234
可愛的小學生
可愛的小學生
 
文章: 9
註冊時間: 週三 5月 28, 2008 12:18 pm

文章70630515 » 週三 5月 28, 2008 3:19 pm

implement every QLineEdit in a new class ???

for instance :

class edit1 :public QLineEdit{


void mousePressEvent(QMouseEvent *event);

}


try it !!
:mrgreen:
我不自私,因為我開放(Open) , 我很快樂,因為我分享(Share)–Open Source
頭像
70630515
懵懂的國中生
懵懂的國中生
 
文章: 160
註冊時間: 週一 3月 13, 2006 9:15 am
來自: 北鼻存錢筒

文章turtle1234 » 週三 5月 28, 2008 11:30 pm

大大你好以下是我相關的程式碼,我用了你說的方法
但是在放入hello.cpp時那一行程式碼都會有錯,
真是不知什麼原因,可以請大大指導一下嗎?
錯誤訊息是以下:
C:/Qt/mytest/hello.cpp: undefined reference to `vtable for edit1'
debug/hello.o(.text$_ZN5edit1C1Ev[edit1::edit1()]+0x2c):C:/Qt/mytest/hello.cpp:
undefined reference to `vtable for edit1'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\mytest.exe] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/mytest'
mingw32-make: *** [debug] Error 2

以下是我的程式碼
//!!!!!!!!!!!!!hello.h!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
class edit1 : public QLineEdit
{

protected:
void mouseDoubleClickEvent(QMouseEvent* event);
};
class Hello : public QDialog
{
Q_OBJECT

public:
Hello(QWidget *parent = 0);
~Hello();
void setedit(QString str);

private:
QHBoxLayout *layout;
QPushButton *button;
QLineEdit *edit;
edit1 *edit2;
private slots:
void created();
};
//!!!!!!!!!!!!!!!!!!!!hello.cpp!!!!!!!!!!!!!!!!!!!!!!!!!!!
Hello::Hello(QWidget *parent)
: QDialog(parent)
{
layout = new QHBoxLayout;
button = new QPushButton("Pressed");
edit = new QLineEdit;

edit2=new edit1;<-------------這一行為什麼會錯呢?

layout->addWidget(button);
layout->addWidget(edit);
//layout->addWidget(edit2);
this->setLayout(layout);

connect(button, SIGNAL(clicked()), this, SLOT(created()));
}
turtle1234
可愛的小學生
可愛的小學生
 
文章: 9
註冊時間: 週三 5月 28, 2008 12:18 pm

文章70630515 » 週四 5月 29, 2008 8:38 am

do ever implement the mouseDoubleClickEvent for the edit1 class??
我不自私,因為我開放(Open) , 我很快樂,因為我分享(Share)–Open Source
頭像
70630515
懵懂的國中生
懵懂的國中生
 
文章: 160
註冊時間: 週一 3月 13, 2006 9:15 am
來自: 北鼻存錢筒

文章turtle1234 » 週四 5月 29, 2008 11:08 am

可是也必需將edit1宣告在hello中,才能在圖形介面中才會出現edit1所宣告的QLineEdit,不是嗎?還是我edit2=new edit1;想法和方式是錯的,我的目的是想在hello上顯示一個edit1的QLineEdit,不知大大可以指導一下嗎
turtle1234
可愛的小學生
可愛的小學生
 
文章: 9
註冊時間: 週三 5月 28, 2008 12:18 pm

文章訪客 » 週四 5月 29, 2008 2:42 pm

要不要補給edit1一個空白(預設)建構子呢?
還是edit1的 void mouseDoubleClickEvent(QMouseEvent* event); scope錯誤,只能放在public
訪客
 

文章70630515 » 週四 5月 29, 2008 4:06 pm

I don`t know how did you write your code, but I wrote one for you , hopes helpful

link is here

http://studftp.stut.edu.tw/~493k0001/linedit.tar.gz

the file include an executable file , you could try it ;-)
我不自私,因為我開放(Open) , 我很快樂,因為我分享(Share)–Open Source
頭像
70630515
懵懂的國中生
懵懂的國中生
 
文章: 160
註冊時間: 週一 3月 13, 2006 9:15 am
來自: 北鼻存錢筒

文章turtle1234 » 週四 5月 29, 2008 7:39 pm

可以了耶,果然大大是強者,非常感謝你的幫忙,這個如果有用了有要給什麼嗎 ?非常感謝你喔:-D
turtle1234
可愛的小學生
可愛的小學生
 
文章: 9
註冊時間: 週三 5月 28, 2008 12:18 pm

文章70630515 » 週四 5月 29, 2008 11:06 pm

給什麼是不用了...

你只要記得把這份經驗傳承給下一個有同樣問題的人就好了
這樣社群才有溫暖,人間才有愛,這開源的世界才會進步...
我不自私,因為我開放(Open) , 我很快樂,因為我分享(Share)–Open Source
頭像
70630515
懵懂的國中生
懵懂的國中生
 
文章: 160
註冊時間: 週一 3月 13, 2006 9:15 am
來自: 北鼻存錢筒

文章caterpillar » 週四 5月 29, 2008 11:32 pm

我好像聽到有背景音樂。。哭哭。。~>_<~

Sorry! Provide some useful information...
o 事件類型與處理者
o 事件接受與否、event() 方法
o 事件過濾器
o 自訂與傳送事件
最後由 caterpillar 於 週六 5月 31, 2008 5:39 pm 編輯,總共編輯了 2 次。
良葛格學習筆記 - 我是一隻弱小的毛毛蟲,想像有天可以成為強壯的挖土機,擁有挖掘夢想的神奇手套。。。
頭像
caterpillar
可愛的小學生
可愛的小學生
 
文章: 8
註冊時間: 週四 2月 28, 2008 1:46 pm

文章FourDollars » 週五 5月 30, 2008 11:39 am

蛤? 背景音樂放哪一首啊? @_@a
FourDollars
懵懂的國中生
懵懂的國中生
 
文章: 188
註冊時間: 週五 8月 01, 2003 12:47 am

文章70630515 » 週五 5月 30, 2008 11:27 pm

國歌=.=
愛國的毛毛蟲XD
我不自私,因為我開放(Open) , 我很快樂,因為我分享(Share)–Open Source
頭像
70630515
懵懂的國中生
懵懂的國中生
 
文章: 160
註冊時間: 週一 3月 13, 2006 9:15 am
來自: 北鼻存錢筒

文章sigmaccc » 週一 10月 12, 2009 3:48 pm

70630515 寫:I don`t know how did you write your code, but I wrote one for you , hopes helpful

link is here

http://studftp.stut.edu.tw/~493k0001/linedit.tar.gz

the file include an executable file , you could try it ;-)



您好,
小弟跟版主一樣有類似的問題。
想參考您的連結,但該連結已損毀。
可以麻煩您再PO一次嗎?

感激不盡 QQ
sigmaccc
可愛的小學生
可愛的小學生
 
文章: 46
註冊時間: 週三 1月 18, 2006 8:30 am

文章70630515 » 週三 10月 14, 2009 3:11 pm

我不自私,因為我開放(Open) , 我很快樂,因為我分享(Share)–Open Source
頭像
70630515
懵懂的國中生
懵懂的國中生
 
文章: 160
註冊時間: 週一 3月 13, 2006 9:15 am
來自: 北鼻存錢筒

文章sigmaccc » 週四 10月 15, 2009 11:46 am

70630515 寫:http://studftp.stut.edu.tw/~m9790102/linedit.tar.gz


收到了,非常感謝 QQ
sigmaccc
可愛的小學生
可愛的小學生
 
文章: 46
註冊時間: 週三 1月 18, 2006 8:30 am


回到 KDE/Qt 程式設計

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客