QLineEdit 也是很常用的物件, 它允許使用者輸入資料
這邊就用一個範例當使用者輸入時 會在下面用 QLable 對應輸出
程式如下
為了讓大家漸漸了解 物件的寫法, 下面就改用物件的方式
為何會用物件呢 ? 當程式功能越來越多, 就會把 UI 跟 計算部分分開成不同py 欓
如果UI 是用class 寫得要呼叫就會比較容易
首先當然是 import package..
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QLineEdit, QPushButton
再來就是建立一個 example 物件這個物件繼承了 QMainWindow 這個 pyqt 物件
這個我們之前寫法 example = QMainWindow() 意是差不多
但當我們要對這物件作很多處理時, 如加入很多 button 用 class 定義的方式比較容易修改
也比較容易理解
class Example(QMainWindow):
# 再來我們要初始化Example 這個物件
def __init__(self):
super().__init__() # 表示 Example() 可以調用父類別的function
self.lineEntry = QLineEdit(self) # 加入QLineEdit 到此物件, 下面會在解說
self.lineEntry.move(16,16) # 位置
self.lineEntry.resize(200,40) # 大小
self.qlabel = QLabel(self) #加入QLabel 到此物件
self.qlabel.move(16,64)# 位置
#當 QLineEdit 物件的內容修改時, 執行 onChanged 這個 function
# 因為 onChange 是在這個 class 內, 所以前面要加 self.
self.lineEntry.textChanged.connect(self.onChanged)
self.setGeometry(50,50,320,200)# 位置
self.setWindowTitle("QLineEdit Example")# 大小
self.show() # 顯示
# QLine Edit 的曹, 當 QLineEdit 文字有改變時會呼叫onChanged, 並帶入文字到 text 中
# 當 123 輸入, text 就是 123
def onChanged(self, text):
text = "Your Enter is " + text # 可以對文字再處理
self.qlabel.setText(text) # 將 text 秀在 QLabel 上
self.qlabel.adjustSize()
#下面的部分跟 function ㄧ樣
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
之前我們再 Qwiget 內在加入一個 物件時
寫法如下
lineEntry = QLineEdit( 主物件) 但我們已經在主物件內了
寫法就前面加 self , 主物件也改成 self ,變成如下
self.lineEntry = QLineEdit(self)
這邊就用一個範例當使用者輸入時 會在下面用 QLable 對應輸出
程式如下
為了讓大家漸漸了解 物件的寫法, 下面就改用物件的方式
為何會用物件呢 ? 當程式功能越來越多, 就會把 UI 跟 計算部分分開成不同py 欓
如果UI 是用class 寫得要呼叫就會比較容易
首先當然是 import package..
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QLineEdit, QPushButton
再來就是建立一個 example 物件這個物件繼承了 QMainWindow 這個 pyqt 物件
這個我們之前寫法 example = QMainWindow() 意是差不多
但當我們要對這物件作很多處理時, 如加入很多 button 用 class 定義的方式比較容易修改
也比較容易理解
class Example(QMainWindow):
# 再來我們要初始化Example 這個物件
def __init__(self):
super().__init__() # 表示 Example() 可以調用父類別的function
self.lineEntry = QLineEdit(self) # 加入QLineEdit 到此物件, 下面會在解說
self.lineEntry.move(16,16) # 位置
self.lineEntry.resize(200,40) # 大小
self.qlabel = QLabel(self) #加入QLabel 到此物件
self.qlabel.move(16,64)# 位置
#當 QLineEdit 物件的內容修改時, 執行 onChanged 這個 function
# 因為 onChange 是在這個 class 內, 所以前面要加 self.
self.lineEntry.textChanged.connect(self.onChanged)
self.setGeometry(50,50,320,200)# 位置
self.setWindowTitle("QLineEdit Example")# 大小
self.show() # 顯示
# QLine Edit 的曹, 當 QLineEdit 文字有改變時會呼叫onChanged, 並帶入文字到 text 中
# 當 123 輸入, text 就是 123
def onChanged(self, text):
text = "Your Enter is " + text # 可以對文字再處理
self.qlabel.setText(text) # 將 text 秀在 QLabel 上
self.qlabel.adjustSize()
#下面的部分跟 function ㄧ樣
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
之前我們再 Qwiget 內在加入一個 物件時
寫法如下
lineEntry = QLineEdit( 主物件) 但我們已經在主物件內了
寫法就前面加 self , 主物件也改成 self ,變成如下
self.lineEntry = QLineEdit(self)
沒有留言:
張貼留言