ខ្សែវ័ណ្ឌ ខែឧសភា 19, 2009
ការបង្កើតខ្សែវ័ណ្ឌ
ខ្សែវ័ណ្ឌ (group box) គឺជារូបម៉្យាងប្រើសម្រាប់រំព័ន្ធរូបមួយចំនួនទៀត។ ដើម្បីបង្កើតខ្សែវ័ណ្ឌ យើងត្រូវយកថ្នាក់ឈ្មោះ QGroupBox មកប្រើដោយសរសេរកម្មវិធីដូចខាងក្រោមនេះ៖
import sys from PyQt4.QtCore import* from PyQt4.QtGui import* class រូបមេ(QWidget): def __init__(សិស្ស): QWidget.__init__(សិស្ស) សិស្ស.setWindowTitle("ខ្សែវ័ណ្ឌ") ប្រអប់ទំហំដេក = QHBoxLayout() ប្រអប់ទំហំឈរ = QVBoxLayout() សិស្ស.ខ្សែវ័ណ្ឌ = QGroupBox("ផ្លែឈើ") សិស្ស.ប្រអប់គូស = [] លេខរៀង = 0 for ស្លាក in ['ចេក', 'ស្វាយ', 'ដូង', 'ល្មុត']: សិស្ស.ប្រអប់គូស.append(QCheckBox(ស្លាក)) ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ប្រអប់គូស[លេខរៀង]) លេខរៀង += 1 សិស្ស.ខ្សែវ័ណ្ឌ.setLayout(ប្រអប់ទំហំឈរ) ប្រអប់ទំហំដេក.addWidget(សិស្ស.ខ្សែវ័ណ្ឌ) សិស្ស.setLayout(ប្រអប់ទំហំដេក) កម្មវិធី = QApplication(sys.argv) បង្អួច = រូបមេ() កម្មវិធី.setFont(QFont('Khmer OS', 11)) បង្អួច.show() កម្មវិធី.exec_()
ខ្សែវ័ណ្ឌ
សិស្ស.ខ្សែវ័ណ្ឌ = QGroupBox(“ផ្លែឈើ”) គឺជាការយកថ្នាក់ឈ្មោះ QGroupBox មកប្រើដើម្បីបង្កើតខ្សែវ័ណ្ឌមួយមានឈ្មោះថា ខ្សែវ័ណ្ឌ ។
ស្ថាបនិកនៃថ្នាក់ QGroupBox
ស្ថាបនិកនៃថ្នាក់ឈ្មោះ QGroupBox មានទម្រង់ដូចខាងក្រោមនេះ៖__init__ (self, QWidget parent = None)
__init__ (self, QString title, QWidget parent = None)
វិធីសំខាន់ៗនៃថ្នាក់ QGroupBox
វិធីសំខាន់ៗនៃថ្នាក់ឈ្មោះ QGroupBox មានទម្រង់ដូចខាងក្រោមនេះ៖setTitle(self, QString): គឺជាវិធីប្រើសម្រាប់កំណត់យកឈ្មោះណាមួយជាចំណងជើងរបស់ខ្សែវ័ណ្ឌ។
setCheckable(self, bool b): គឺជាវិធីប្រើសម្រាប់កំណត់ឲ្យរូបនៅក្នុងខ្សែវ័ណ្ឌអាចមានសកម្មភាពឬអត់។
រលកសញ្ញា
រលកសញ្ញាសំខាន់ៗដែលអាចត្រូវផ្សាយចេញពីខ្សែវ័ណ្ឌ គឺជារលកសញ្ញាមានដូចខាងក្រោមនេះ៖“toggled (bool)”: គឺជារលកសញ្ញាដែលអាចត្រូវផ្សាយចេញនៅពេលណាដែលរូបនៅក្នងខ្សែវ័ណ្ឌត្រូវស្តិតក្នុងភាពសកម្មឬអត់។
ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import sys from PyQt4.QtCore import* from PyQt4.QtGui import* class រូបមេ(QWidget): def __init__(សិស្ស): QWidget.__init__(សិស្ស) សិស្ស.setWindowTitle("ខ្សែវ័ណ្ឌ") ប្រអប់ទំហំមេ = QVBoxLayout() ប្រអប់ទំហំឈរ = QVBoxLayout() សិស្ស.ផ្លាក = QLabel() សិស្ស.ខ្សែវ័ណ្ឌ = QGroupBox("ផ្លែឈើ") សិស្ស.ប្រអប់គូស = [ ] លេខរៀង = 0 for ស្លាក in ['ចេក', 'ស្វាយ', 'ដូង', 'ល្មុត']: សិស្ស.ប្រអប់គូស.append(QCheckBox(ស្លាក)) ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ប្រអប់គូស[លេខរៀង]) លេខរៀង += 1 សិស្ស.ខ្សែវ័ណ្ឌ.setLayout(ប្រអប់ទំហំឈរ) សិស្ស.ខ្សែវ័ណ្ឌ.setCheckable(True) ប្រអប់ទំហំមេ.addWidget(សិស្ស.ខ្សែវ័ណ្ឌ) ប្រអប់ទំហំមេ.addWidget(សិស្ស.ផ្លាក) សិស្ស.setLayout(ប្រអប់ទំហំមេ) សិស្ស.connect(សិស្ស.ខ្សែវ័ណ្ឌ, SIGNAL("toggled(bool)"), សិស្ស.ចុចខ្សែវ័ណ្ឌ) def ចុចខ្សែវ័ណ្ឌ(សិស្ស, ចុច): if ចុច: សិស្ស.ផ្លាក.setText("រូបក្នុងខ្សែវ័ណ្ឌស្ថិតក្នុងភាពសកម្ម") else: សិស្ស.ផ្លាក.setText("រូបក្នុងខ្សែវ័ណ្ឌស្ថិតក្នុងភាពអសកម្ម") កម្មវិធី = QApplication(sys.argv) បង្អួច = រូបមេ() កម្មវិធី.setFont(QFont('Khmer OS', 11)) បង្អួច.show() កម្មវិធី.exec_()
ខ្សែវ័ណ្ឌ
សិស្ស.connect(សិស្ស.ខ្សែវ័ណ្ឌ, SIGNAL(“toggled(bool)”), សិស្ស.ចុចខ្សែវ័ណ្ឌ): គឺជាការតភ្ជាប់រលកសញ្ញាឈ្មោះ “toggled(bool)” ទៅនឹងរន្ធដោតដែលជាវិធីមានឈ្មោះថា ចុចខ្សែវ័ណ្ឌ នៅពេលណាដែលខ្សែវ័ណ្ឌត្រូវបានចុច។
ផ្ទាំងកម្រង
ការបង្កើតផ្ទាំងកម្រង
ផ្ទាំងកម្រង (list widget) គឺជារូបម៉្យាងប្រើសម្រាប់បង្ហាញកម្រងនៃវត្ថុផ្សេងៗ។ ដើម្បីបង្កើតផ្ទាំងកម្រង យើងត្រូវយកថ្នាក់ឈ្មោះ QListWidget មកប្រើដោយសរសេរកម្មវិធីដូចខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
ផ្លែឈើ = ["ក្រូច", "ស្ចាយ", "ដូង", "ចេក", "ល្មុត"]
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle("ផ្ទាំងកម្រង")
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ផ្លាក = QLabel()
សិស្ស.ផ្ទាំងកម្រង = QListWidget()
សិស្ស.ផ្ទាំងកម្រង.addItems(ផ្លែឈើ)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្ទាំងកម្រង)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្លាក)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont('Khmer OS', 11))
បង្អួច.show()
កម្មវិធី.exec_()
ផ្ទាំងកម្រង
សិស្ស.ផ្ទាំងកម្រង = QListWidget() គឺជាការយកថ្នាក់ឈ្មោះ QListWidget មកប្រើដើម្បីបង្កើតផ្ទាំងកម្រងមួយមានឈ្មោះថា ផ្ទាំងកម្រង ។
ស្ថាបនិកនៃថ្នាក់ QListWidget
ស្ថាបនិកនៃថ្នាក់ឈ្មោះ QListWidget មានទម្រង់ដូចខាងក្រោមនេះ៖
__init__ (self, QWidget parent = None)
វិធីសំខាន់ៗនៃថ្នាក់ QListWidget
វិធីសំខាន់ៗនៃថ្នាក់ឈ្មោះ QListWidget មានទម្រង់ដូចខាងក្រោមនេះ៖
addItem(self, QString label): គឺជាវិធីប្រើសម្រាប់បន្ថែមឈ្មោះណាមួយចូលទៅក្នុងផ្ទាំងកម្រងណាមួយ។
addItems(self, QStringList labels): គឺជាវិធីប្រើសម្រាប់បន្ថែមកម្រងនៃឈ្មោះមួយចំនួនចូលទៅក្នុងផ្ទាំងកម្រងណាមួយ។
clear(self): គឺជាវិធីប្រើសម្រាប់លុបអ្វីៗទាំងអស់ដែលមាននៅក្នុងផ្ទាំងកម្រងណាមួយ។
insertItem(self, int row, QString label): គឺជាវិធីប្រើសម្រាប់បញ្ចូលឈ្មោះណាមួយទៅក្នុងផ្ទាំងកម្រងណាមួយ នៅត្រង់លេខរៀងណាមួយ។
insertItems(self, int row, QStringList labels): គឺជាវិធីប្រើសម្រាប់បញ្ចូលឈ្មោះនៅក្នុងកម្រងណាមួយទៅផ្ទាំងកម្រងណាមួយ នៅត្រង់លេខរៀងណាមួយ។
setCurrentRow(self, int row): គឺជាវិធីប្រើសម្រាប់ជ្រើសរើសយកឈ្មោះមានលេខរៀងណាមួយនៅក្នុងផ្ទាំងកម្រង។
setSortingEnabled(self, bool enable): គឺជាវិធីប្រើសម្រាប់តម្រូវឲ្យឈ្មោះនៅក្នុងផ្ទាំងកម្រងណាមួយ អាចត្រូវតម្រៀបទៅតាមលំដាប់ថ្នាក់បាន។
រលកសញ្ញា
រលកសញ្ញាសំខាន់ៗដែលអាចត្រូវផ្សាយចេញពីផ្ទាំងកម្រង គឺជារលកសញ្ញាមានដូចខាងក្រោមនេះ៖
“currentRowChanged(int)”: គឺជារលកសញ្ញាដែលអាចត្រូវផ្សាយចេញនៅពេលណាដែលឈ្មោះនៅក្នុងផ្ទាំងកម្រងត្រូវបានជ្រើសរើសយក។ ដំណឹងដែលត្រូវផ្សាយចេញជាមួយនឹងរលកសញ្ញានោះ គឹលេខរៀងនៃឈ្មោះដែលត្រូវបានជ្រើសរើសនោះ។
“currentTextChanged(QString)”: គឺជារលកសញ្ញាដែលអាចត្រូវផ្សាយចេញនៅពេលណាដែលឈ្មោះនៅក្នុងផ្ទាំងកម្រងត្រូវបានជ្រើសរើសយក។ ដំណឹងដែលត្រូវផ្សាយចេញជាមួយនឹងរលកសញ្ញានោះ គឹឈ្មោះដែលត្រូវបានជ្រើសរើសនោះ។
ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
ផ្លែឈើ = ["ក្រូច", "ស្វាយ", "ដូង", "ចេក", "ល្មុត"]
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle("ផ្ទាំងកម្រង")
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ផ្លាក = QLabel()
សិស្ស.ផ្ទាំងកម្រង = QListWidget()
សិស្ស.ផ្ទាំងកម្រង.addItems(ផ្លែឈើ)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្ទាំងកម្រង)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្លាក)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
សិស្ស.connect(សិស្ស.ផ្ទាំងកម្រង, SIGNAL("currentTextChanged(QString)"), សិស្ស.ដូរឈ្មោះ)
def ដូរឈ្មោះ(សិស្ស, ឈ្មោះ):
សិស្ស.ផ្លាក.setText("{0}ត្រូវបានជ្រើសរើសយក".format(ឈ្មោះ))
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont('Khmer OS', 11))
បង្អួច.show()
កម្មវិធី.exec_()
ផ្ទាំងកម្រង
សិស្ស.connect(សិស្ស.ផ្ទាំងកម្រង, SIGNAL(“currentTextChanged(QString)”), សិស្ស.ដូរឈ្មោះ): គឺជាការតភ្ជាប់រលកសញ្ញាឈ្មោះ “currentTextChanged(QString)” ទៅនឹងរន្ធដោតដែលជាវិធីមានឈ្មោះថា ដូរឈ្មោះ នៅពេលណាដែលឈ្មោះនៅក្នុងផ្ទាំងកម្រងត្រូវបានជ្រើសរើសយក។
ប្រអប់ពុម្ពអក្សរ ខែឧសភា 18, 2009
ការបង្កើតប្រអប់ពុម្ពអក្សរ
ប្រអប់ពុម្ពអក្សរ (font combobox) គឺជារូបម៉្យាងប្រើសម្រាប់ធ្វើការជ្រើសរើសយកពុម្ពអក្សរផ្សេងៗ។ ដើម្បីបង្កើតប្រអប់ពុម្ពអក្សរ យើងត្រូវយកថ្នាក់ឈ្មោះ QFontComboBox មកប្រើដោយសរសេរកម្មវិធីដូចខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle("ប្រអប់ពុម្ពអក្សរ")
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ប្រអប់ពុម្ពអក្សរ = QFontComboBox()
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ប្រអប់ពុម្ពអក្សរ)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont('Khmer OS', 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.ប្រអប់ពុម្ពអក្សរ = QFontComboBox() គឺជាការយកថ្នាក់ឈ្មោះ QFontComboBox មកប្រើដើម្បីបង្កើតប្រអប់ពុម្ពអក្សរមួយមានឈ្មោះថា ប្រអប់ពុម្ពអក្សរ ។
ស្ថាបនិកនៃថ្នាក់ QFontComboBox
ស្ថាបនិកនៃថ្នាក់ឈ្មោះ QFontComboBox មានទម្រង់ដូចខាងក្រោមនេះ៖
- __init__ (self, QWidget parent = None)
វិធីសំខាន់ៗនៃថ្នាក់ QFontComboBox
វិធីសំខាន់ៗនៃថ្នាក់ឈ្មោះ QFontComboBox មានដូចខាងក្រោមនេះ៖
- QFont currentFont (self) : គឹជាវិធីប្រើសម្រាប់ចម្លងយកពុម្ពអក្សរដែលត្រូវបានជ្រើសរើសនៅក្នុងប្រអប់ពុម្ពអក្សរ។
- setCurrentFont (self, QFont f) : គឺជាវិធីប្រើសម្រាប់ជ្រើសរើសយកពុម្ពអក្សរណាមួយ។
រលកសញ្ញា
រលកសញ្ញាដែលអាចត្រូវផ្សាយចេញពីប្រអប់ពុម្ពអក្សរ គឺជារលកសញ្ញាដូចខាងក្រោមនេះ៖
- “currentFontChanged (QFont)” : គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញនៅពេលណាដែលពុម្ពអក្សរណាមួយនៅក្នុងប្រអប់ពុម្ពអក្សរត្រូវបានជ្រើសរើសយក។ ដំណឹងដែលត្រូវផ្សាយចេញជាមួយនឹងរលកសញ្ញានោះ គឺជាពុម្ពអក្សរដែលត្រូវបានជ្រើសរើសយកនោះ។
ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle("ប្រអប់ពុម្ពអក្សរ")
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ផ្ទាំងអត្ថបទ = QTextEdit()
សិស្ស.ប្រអប់ពុម្ពអក្សរ = QFontComboBox()
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ប្រអប់ពុម្ពអក្សរ)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្ទាំងអត្ថបទ)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
សិស្ស.connect(សិស្ស.ប្រអប់ពុម្ពអក្សរ, SIGNAL("currentFontChanged (QFont)"), សិស្ស.ចុចពុម្ពអក្សរ)
def ចុចពុម្ពអក្សរ(សិស្ស, ពុម្ពអក្សរ):
សិស្ស.ផ្ទាំងអត្ថបទ.setCurrentFont(ពុម្ពអក្សរ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont('Khmer OS', 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.connect(សិស្ស.ប្រអប់ពុម្ពអក្សរ, SIGNAL(“currentFontChanged (QFont)”), សិស្ស.ចុចពុម្ពអក្សរ) គឺជាការតភ្ជាប់រលកសញ្ញាឈ្មោះ “currentFontChanged (QFont)” ទៅនឹងរន្ធដោតដែលជាវិធីមានឈ្មោះថា ចុចពុម្ពអក្សរ នៅពេលណាដែលពុម្ពអក្សរណាមួយនៅក្នុងប្រអប់ពុម្ពអក្សរឈ្មោះ ប្រអប់ពុម្ពអក្សរ ត្រូវបានជ្រើសរើសយក។
ប្រអប់ចម្រុះ ខែឧសភា 17, 2009
ការបង្កើតប្រអប់ចម្រុះ
ប្រអប់ចម្រុះ (combo box) គឺជារូបម៉្យាងដែលយើងអាចចុចបើកដើម្បីធ្វើការជ្រើសរើសផ្សេងៗ។ ដើម្បីបង្កើតប្រអប់ចម្រុះ យើងត្រូវយកថ្នាក់ឈ្មោះ QComboBox មកប្រើដោយសរសេរកម្មវិធីដូចខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
ផ្លែឈើ = ['ក្រូច', 'ចេក', 'ល្មុត', 'ល្ហុង', 'ស្វាយ']
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle("ប្រអប់ចម្រុះ")
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ប្រអប់ចម្រុះ = QComboBox()
សិស្ស.ប្រអប់ចម្រុះ.addItems(ផ្លែឈើ)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ប្រអប់ចម្រុះ)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont('Khmer OS', 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.ប្រអប់ចម្រុះ = QComboBox() គឺជាការយកថ្នាក់ឈ្មោះ QComboBox មកប្រើដើម្បីបង្កើតប្រអប់ចម្រុះទទេមួយមានឈ្មោះថា ប្រអប់ចម្រុះ ។
សិស្ស.ប្រអប់ចម្រុះ.addItems(ផ្លែឈើ) គឺជាការយកវិធីឈ្មោះ addItems មកប្រើដើម្បីចម្លងយកធាតុរបស់កម្រងអថេរមួយមកដាក់នៅក្នុងប្រអប់ចម្រុះដែលមានឈ្មោះថា ប្រអប់ចម្រុះ ។
ស្ថានិកនៃថ្នាក់ QComboBox
- __init__ (self, QWidget parent = None)
វិធីសំខាន់ៗនៃថ្នាក់ QComboBox
វិធីសំខាន់ៗនៃថ្នាក់ឈ្មោះ QComboBox មានដូចខាងក្រោមនេះ៖
- addItems (self, QStringList texts) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកឈ្មោះមួយចំនួននៅក្នុងកម្រងអថេរណាមួយមកដាក់នៅក្នុងប្រអប់ចម្រុះណាមួយ។
- clear (self) : គឺជាវិធីប្រើសម្រាប់លុបឈ្មោះទាំងអស់ដែលមាននៅក្នុងប្រអប់ចម្រុះណាមួយ។
- insertItems (self, int index, QStringList texts) : គឺជាវិធីប្រើសម្រាប់បញ្ចូលឈ្មោះមួយចំនួនទៅក្នុងប្រអប់ចម្រុះណាមួយនៅត្រង់លេខរៀងណាមួយ។
- setEditable (self, bool editable) : គឺជាវិធីប្រើសម្រាប់កំណត់ឲ្យឈ្មោះនៅក្នុងប្រអប់ចម្រុះអាចត្រូវកែប្រែបាន។
- QString itemText (self, int index) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកឈ្មោះមានលេខរៀងណាមួយនៅក្នុងប្រអប់ចម្រុះ។
- setItemText (self, int index, QString text) : គឺជាវិធីប្រើសម្រាប់កំណត់យកឈ្មោះណាមួយជាឈ្មោះនៅក្នុងប្រអប់ចម្រុះនៅត្រង់លេខរៀងណាមួយ។
រលកសញ្ញា
រលកសញ្ញាសំខាន់ៗដែលអាចត្រូវផ្សាយចេញពីប្រអប់ចម្រុះគឺជារលកសញ្ញាមានដូចខាងក្រោមនេះ៖
- “activated (int)” : គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញនៅពេលណាឈ្មោះនៅក្នុងប្រអប់ចម្រុះត្រូវបានចុច។ ដំណឹងដែលត្រូវផ្សាយចេញជាមួយនឹងរលកសញ្ញានោះ គឺជាលេខរៀងរបស់ឈ្មោះដែលត្រូវបានចុចនោះ។
- “activated (QString)” : គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញនៅពេលណាឈ្មោះនៅក្នុងប្រអប់ចម្រុះត្រូវបានចុច។ ដំណឹងដែលត្រូវផ្សាយចេញជាមួយនឹងរលកសញ្ញានោះ គឺជាឈ្មោះដែលត្រូវបានចុចនោះ។
ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
ផ្លែឈើ = ['ក្រូច', 'ចេក', 'ល្មុត', 'ល្ហុង', 'ស្វាយ']
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle("ប្រអប់ចម្រុះ")
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ប្រអប់ចម្រុះ = QComboBox()
សិស្ស.ផ្លាក = QLabel()
សិស្ស.ប្រអប់ចម្រុះ.addItems(ផ្លែឈើ)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ប្រអប់ចម្រុះ)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្លាក)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
សិស្ស.connect(សិស្ស.ប្រអប់ចម្រុះ, SIGNAL("activated (QString)" ), សិស្ស.ចុចឈ្មោះ)
def ចុចឈ្មោះ(សិស្ស, ឈ្មោះ):
សិស្ស.ផ្លាក.setText('ផ្លែ{0}ត្រូវបានជ្រើសរើសយក'.format(ឈ្មោះ))
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont('Khmer OS', 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.connect(សិស្ស.ប្រអប់ចម្រុះ, SIGNAL(“activated (QString)” ), សិស្ស.ចុចឈ្មោះ) គឺជាការតភ្ជាប់រលកសញ្ញាឈ្មោះ “activated(QString)” ទៅនឹងរន្ធដោតដែលជាវិធីមានឈ្មោះថា ចុចឈ្មោះ នៅពេលណាដែលឈ្មោះនៅក្នុងប្រអប់ចម្រុះឈ្មោះ ប្រអប់ចម្រុះ ត្រូវបានចុច។
ផ្ទាំងពេលវេលាកាលបរិច្ឆេទ
ការបង្កើតផ្ទាំងពេលវេលាកាលបរិច្ឆេទ
ផ្ទាំងពេលវេលាកាលបរិច្ឆេទ (date/time editor) គឺជារូបម៉្យាងប្រើសម្រាប់កែតម្រូវពេលវេលានិងកាលបរិច្ឆេទ។ ដើម្បីបង្កើតផ្ទាំងពេលវេលាកាលបរិច្ឆេទ យើងត្រូវយកថ្នាក់ឈ្មោះ QDateTimeEdit មកប្រើដោយសរសេរកម្មវិធីដូចខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle("ផ្ទាំងពេលវេលាកាលបរិច្ឆេទ")
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ផ្ទាំងពេលវេលា = QDateTimeEdit()
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្ទាំងពេលវេលា)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont('Khmer OS', 11))
បង្អួច.show()
កម្មវិធី.exec_()
ស្ថាបនិកនៃថ្នាក់ QDateTimeEdit
- __init__ (self, QWidget parent = None)
- __init__ (self, QDateTime dt, QWidget parent = None)
- __init__ (self, QDate d, QWidget parent = None)
- __init__ (self, QTime t, QWidget parent = None)
- dt : គឺជាដំណាងចាំទទូលយកដំណឹងដែលជាពេលវាលានិងកាលបរិច្ឆេទ។
- d : គឺជាដំណាងចាំទទួលយកដំណឹងដែលជាកាលបរិច្ឆេទ។
- t : គឺជាដំណាងចាំទទួលយកដំណឹងដែលជាពេលវេលា។
វិធីសំខាន់ៗនៃថ្នាក់ QDatTimeEdit
- QDateTime dateTime (self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកពេលវេលានិងកាលបរិច្ឆេទពីក្នុងផ្ទាំងពេលវេលាកាលបរិច្ឆេទ។
- setDate (self, QDate date) : គឺជាវិធីប្រើសម្រាប់កំណត់កាលបរិច្ឆេទនៅក្នុងផ្ទាំងពេលវេលាកាលបរិច្ឆេទ។
- setDateTime (self, QDateTime dateTime) : គឺជាវិធីប្រើសម្រាប់កំណត់ពេលវេលានិងកាលបរិច្ឆេទនៅក្នុងផ្ទាំងពេលវេលាកាលបរិច្ឆេទ។
- setTime (self, QTime time) : គឺជាវិធីប្រើសម្រាប់កំណត់ពេលវេលានៅក្នុងផ្ទាំងពេលវេលាកាលបរិច្ឆេទ។
- QTime time (self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកពេលវេលាពីក្នុងផ្តាំងពេលវេលាកាលបរិច្ឆេទ។
- QDate date (self) : គឹជាវិធីប្រើសម្រាប់ចម្លងយកកាលបរិច្ឆេទពីក្នុងផ្ទាំងពេលវេលាកាលបរិច្ឆេទ។
រលកសញ្ញា
- “dateChanged(QDate)” : គឹជារលកសញ្ញាដែលត្រូវផ្សាយចេញពីផ្ទាំងពេលវេលាកាលបរិច្ឆេទនៅពេលណាកាលបរិច្ឆេទនៅក្នុងនោះត្រូវបានផ្លាស់ប្តូរ។
- “dateTimeChanged(QDateTime)” : គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញពីផ្ទាំងពេលវេលាកាលបរិច្ឆេទនៅពេលណាដែលពេលវាលានិងឬកាលបរិច្ឆេទនៅក្នុងនោះត្រូវបានផ្សាស់ប្តូរ។
- timeChanged(QTime) : គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញពីផ្ទាំងពេលវេលាកាលបរិច្ឆេទនៅពេលណាដែលពេលវេលានៅក្នុងនោះត្រូវបានផ្លាស់ប្តូរ។
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle("ផ្ទាំងពេលវេលាកាលបរិច្ឆេទ")
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ផ្ទាំងពេលវេលា = QDateTimeEdit()
សិស្ស.ផ្លាក = QLabel()
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្ទាំងពេលវេលា)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្លាក)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
សិស្ស.connect(សិស្ស.ផ្ទាំងពេលវេលា, SIGNAL("dateTimeChanged(QDateTime)"), សិស្ស.ពេលវេលាដូរ)
def ពេលវេលាដូរ(សិស្ស):
ពេលវេលា = សិស្ស.ផ្ទាំងពេលវេលា.dateTime()
សិស្ស.ផ្លាក.setText(str(ពេលវេលា))
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont('Khmer OS', 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.connect(សិស្ស.ផ្ទាំងពេលវេលា, SIGNAL(“dateTimeChanged(QDateTime)”), សិស្ស.ពេលវេលាដូរ) គឺជាការភ្ជាប់រលកសញ្ញាមានឈ្មោះថា “dateTimeChanged(QDateTime)” ទៅនឹងរន្ធដោយដែលជាវិធីមានឈ្មោះថា ពេលវេលាដូរ នៅពេលណាដែលពេលវេលានិងឬកាលបរិច្ឆេទនៅក្នុងផ្ទាំងពេលវេលាកាលបរិច្ឆេទឈ្មោះ ផ្ទាំងពេលវេលា ត្រូវបានផ្លាស់ប្តរ។
ពេលវេលា = សិស្ស.ផ្ទាំងពេលវេលា.dateTime() គឺជាការយកវិធីឈ្មោះ dateTime មកប្រើដើម្បីចម្លងយកពេលវេលានិងកាលបរិច្ឆេទនៅក្នុងផ្ទាំងពេលវេលាកាលបរិច្ឆេទឈ្មោះ ផ្ទាំងពេលវេលា មកប្រើការ។
ប្រអប់ចំនួនពិត ខែឧសភា 16, 2009
ការបង្កើតប្រអប់ចំនួនពិត
ប្រអប់ចំនួនពិត (double spin box) មានលក្ខណៈដូចប្រអប់ចំនួនគត់បេះបិទ ខុសគ្នាត្រង់ថា តម្លៃលេខដែលមាននៅក្នុងប្រអប់ចំនួនពិតគឺជាចំនួនពិត។ ដើម្បីបង្កើតប្រអប់ចំនួនពិត យើងត្រូវយកថ្នាក់ឈ្មោះ QDoubleSpinBox មកប្រើដោយសរសេរកម្មវិធីដូចខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“ប្រអប់ចំនួនពិត”)
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ប្រអប់លេខ = QDoubleSpinBox()
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ប្រអប់លេខ)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.ប្រអប់លេខ = QDoubleSpinBox() គឺជាការយកថ្នាក់ឈ្មោះ QDoubleSpinBox មកប្រើដើម្បីបង្កើតប្រអប់ចំនួនពិតមួយមានឈ្មោះថា ប្រអប់លេខ ។
ស្ថាបនិកនៃថ្នាក់ QDoubleSpinBox
ស្ថាបនិកនៃថ្នាក់ឈ្មោះ QDoubleSpinBox មានទម្រង់ដូចខាងក្រោមនេះ៖
- __init__(self, QWidget parent = None)
វិធីសំខាន់ៗនៃថ្នាក់ QDoubleSpinBox
វីធីសំខាន់ៗនៃថ្នាក់ឈ្មោះ QDoubleSpinBox មានដូចខាងក្រោមនេះ៖
- int decimals(self) : គឺជាវិធីប្រើសម្រាប់រាប់ចំនួនខ្ទង់នៃលេខក្រោយក្បៀសនៅក្នុងប្រអប់ចំនួនពិត។
- float maximum(self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកតម្លៃលេខជាអតិបរិមានៅក្នុងប្រអប់ចំនួនពិត។
- float minimum(self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកតម្លៃលេខជាអប្បបរិមាននៅក្នុងប្រអប់ចំនួនពិត។
- setDecimals(self, int prec) : គឺជាវិធីប្រើសម្រាប់កំណត់ចំនួនខ្ទង់នៃលេខនៅខាងក្រោយក្បៀសនៅក្នុងប្រអប់ចំនួនពិត។
- setRange(self, float min, float max) : គឺជាវិធីប្រើសម្រាប់កំណត់តម្លៃលេខជាអតិបរិមានិងអប្បបរិមានៅក្នុងប្រអប់ចំនួនពិត។
- setValue(self, float val) : គឺជាវិធីប្រើសម្រាប់កំណត់តម្លៃលេខនៅក្នុងប្រអប់ចំនួនពិត។
- float value(self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកតម្លៃលេខមាននៅក្នុងប្រអប់ចំនួនពិត។
រលកសញ្ញា
រលកសញ្ញាសំខាន់ៗដែលអាចត្រូវផ្សាយចេញពីប្រអប់ចំនួនពិតគឺជារលកសញ្ញាដូចខាងក្រោមនេះ៖
- “valueChanged(double)” : គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញពីប្រអប់នៃចំនួនពិតនៅពេលណាដែលតម្លៃនៅក្នុងនោះត្រូវបានផ្លាស់ប្តូរ។ ដំណឹងដែលត្រូវផ្សាយចេញទៅជាមួយនឹងរលកសញ្ញានោះគឺជាតម្លៃលេខដែលមាននៅក្នុងប្រអប់ចំនួនពិត។
- “valueChanged(QString)” : គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញពីប្រអប់នៃចំនួនពិតនៅពេលណាដែលតម្លៃនៅក្នុងនោះត្រូវបានផ្លាស់ប្តូរ។ ដំណឹងដែលត្រូវផ្សាយចេញទៅជាមួយនឹងរលកសញ្ញានោះគឺជាកម្រងអក្សរដែលជាតម្លៃលេខមាននៅក្នុងប្រអប់ចំនួនពិត។
ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“ប្រអប់ចំនួនពិត”)
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ប្រអប់លេខ = QDoubleSpinBox()
សិស្ស.ផ្លាក = QLabel()
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ប្រអប់លេខ)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្លាក)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
សិស្ស.connect(សិស្ស.ប្រអប់លេខ, SIGNAL(“valueChanged(double)”), សិស្ស.តម្លៃដូរ)
def តម្លៃដូរ(សិស្ស):
សិស្ស.ផ្លាក.setText(str(សិស្ស.ប្រអប់លេខ.value()))
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.connect(សិស្ស.ប្រអប់លេខ, SIGNAL(“valueChanged(double)”), សិស្ស.តម្លៃដូរ) គឺជាការតភ្ជាប់រលកសញ្ញាឈ្មោះ “valueChanged(double)” ទៅនឹងរន្ធដោតដែលជាវិធីមានឈ្មោះថា តម្លៃដូរ ។
ប្រអប់ចំនួនគត់ ខែឧសភា 15, 2009
ការបង្កើតប្រអប់ចំនួនគត់
ប្រអប់ចំនួនគត់ (spin box) គឺជារូបម៉្យាងប្រើសម្រាប់សរសេរឬជ្រើសរើសយកតម្លៃលេខដែលជាចំនូនគត់ណាមួយ។ ដើម្បីបង្កើតប្រអប់ចំនួនគត់ យើងត្រូវយកថ្នាក់ឈ្មោះ QSpinBox មកប្រើដោយសរសេរកម្មវិធីដូចខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“ប្រអប់ចំនួនគត់”)
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ប្រអប់លេខ = QSpinBox()
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ប្រអប់លេខ)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.ប្រអប់លេខ = QSpinBox() គឹជាការយកថ្នាក់ឈ្មោះ QSpinBox មកប្រើដើម្បីបង្កើតប្រអប់ចំនួនគត់មួយមានឈ្មោះថា ប្រអប់លេខ ។
ស្ថាបនិកនៃថ្នាក់ QSpinBox
ស្ថាបនិកនៃថ្នាក់ QSpinBox មានទម្រង់ដូចខាងក្រោមនេះ៖
- __init__ (self, QWidget parent = None)
វិធីសំខាន់ៗនៃថ្នាក់ QSpinBox
វិធីសំខាន់ៗនៃថ្នាក់ឈ្មោះ QSpinBox មានដូចខាងក្រោមនេះ៖
- int maximum(self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកតម្លៃលេខជាអតិបរិមានៅក្នុងប្រអប់ចំនួនគត់។
- int minimum(self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកតម្លៃលេខជាអប្បបរិមានៅក្នុងប្រអប់ចំនួនគត់។
- setMaximum(self, int max) : គឺជាវិធីប្រើសម្រាប់កំណត់តម្លៃលេខជាអតិបរិមានៅក្នុងប្រអបចំនួនគត់។
- setMinimum(self, int min) : គឺជាវិធីប្រើសម្រាប់កំណត់តម្លៃលេខជាអប្បបរិមានៅក្នុងប្រអប់ចំនួនគត់។
- setRange(self, int min, int max) : គឺជាវិធីប្រើសម្រាប់កំណត់តម្លៃលេខជាអតិបរិមានិងជាអប្បបរិមានៅក្នុងប្រអប់ចំនួនគត់។
- setValue(self, int val) : គឺជាវិធីប្រើសម្រាប់កំណត់តម្លៃលេខនៅក្នុងប្រអប់ចំនួនគត់។
- int value(self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកតម្លៃលេខដែលមាននៅក្នុងប្រអប់ចំនួនគត់។
រលកសញ្ញា
រលកសញ្ញាសំខាន់ៗដែលអាចត្រូវផ្សាយចេញពីប្រអប់ចំនួនគត់ គឺជារលកសញ្ញាមានដូចខាងក្រោមនេះ៖
- “valueChanged(int)” : គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញពីប្រអប់ចំនួនគត់ នៅពេលដែលតម្លៃលេខនៅក្នុងនោះត្រូវបានផ្លាស់ប្តូរ។ ដំណឹងដែលត្រូវផ្សាយចេញទៅជាមួយនឹងរលកសញ្ញានេះ គឺជាចំនួនគត់ដែលជាតម្លៃលេខមាននៅក្នុងប្រអប់ចំនួនគត់។
- “valueChanged(QString)” : គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញពីប្រអប់ចំនួនគត់ នៅពេលដែលតម្លៃលេខនៅក្នុងនោះត្រូវបានផ្លាស់ប្តូរ។ ដំណឹងដែលត្រូវផ្សាយចេញទៅជាមួយនឹងរលកសញ្ញានោះ គឺជាកម្រងអក្សរដែលជាតម្លៃលេខមាននៅក្នុងប្រអប់ចំនួនគត់។
ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“ប្រអប់ចំនួនគត់”)
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ប្រអប់លេខ = QSpinBox()
សិស្ស.ផ្លាក = QLabel()
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ប្រអប់លេខ)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្លាក)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
សិស្ស.connect(សិស្ស.ប្រអប់លេខ, SIGNAL(‘valueChanged(int)’), សិស្ស.តម្លៃដូរ)
def តម្លៃដូរ(សិស្ស, តម្លៃ):
សិស្ស.ផ្លាក.setText(“តម្លៃលេខគឺ៖ {0}”.format(តម្លៃ))
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.connect(សិស្ស.ប្រអប់លេខ, SIGNAL(‘valueChanged(int)’), សិស្ស.តម្លៃដូរ) គឺជាការតភ្ជាប់រលកសញ្ញាឈ្មោះ “valueChanged()” ទៅនឹងរន្ធដោតឈ្មោះ តម្លៃដូរ នៅពេលណាដែលតម្លៃនៅក្នុងប្រអប់ចំនួនគត់ឈ្មោះ ប្រអប់លេខ ត្រូវបានផ្លាស់ប្តូរ។
ផ្ទាំងអត្ថបទ
ការបង្កើតផ្ទាំងអត្ថបទ
ផ្ទាំងអត្ថបទ (text editor) គឹជារូបម៉្យាងមានរាងចតុកោណកែងប្រើសម្រាប់សរសេរអត្ថបទផ្សេងៗនៅលើនោះ។ ដើម្បីបង្កើតផ្ទាំងអត្ថបទ យើងត្រូវយកថ្នាក់ឈ្មោះ QTextEdit មកប្រើដោយសរសេរកម្មវិធីដូចខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“ផ្ទាំងអត្ថបទ”)
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ផ្ទាំងអត្ថបទ = QTextEdit()
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្ទាំងអត្ថបទ)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.ផ្ទាំងអត្ថបទ = QTextEdit() គឺជាការយកថ្នាក់ឈ្មោះ QTextEdit មកប្រើដើម្បីបង្កើតផ្ទាំងអត្ថបទមួយមានឈ្មោះថា ផ្ទាំងអត្ថបទ ។
ស្ថាបនិកនៃថ្នាក់ QTextEdit
ស្ថាបនិកនៃថ្នាក់ឈ្មោះ QTextEdit មានទម្រង់ដូចខាងក្រោមនេះ៖
- __init__ (self, QWidget parent = None)
- __init__ (self, QString text, QWidget parent = None)
- text : គឺជាដំណាងចាំទទូលយកដំណឹងដែលជាអត្ថបទត្រូវយកទៅសរសេរនៅលើផ្ទាំងអត្ថបទត្រូវបង្កើត។
វិធីសំខាន់ៗនៃថ្នាក់ QTextEdit
វិធីសំខាន់ៗនៃថ្នាក់ឈ្មោះ QTextEdit មានដូចខាងក្រោមនេះ៖
- append (self, QString text) : គឺជាវិធីប្រើសម្រាប់បន្ថែមអត្ថបទណាមួយទៅក្នុងផ្ទាំងអត្ថបទណាមួយ នៅខាងក្រោមអត្ថបទដែលមាននៅក្នុងនោះ។
- clear(self) : គឺជាវិធីប្រើសម្រាប់លុបអត្ថបទដែលមាននៅក្នុងផ្ទាំងអត្ថបទណាមួយចោលទាំងអស់។
- copy(self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកអត្ថបទដែលត្រូវបានជ្រើសរើសនៅក្នុងផ្ទាំងអត្ថបទណាមួយ ទៅទុកនៅក្នុង ថង់យាម (clipboard) ។
- cut(self) : គឺជាវិធីប្រើសម្រាប់កាត់យកអត្ថបទដែលត្រូវបានជ្រើសរើសនៅក្នុងផ្ទាំងអត្ថបទណាមួយទៅទុកនៅក្នុងថង់យាម។
- QString fontFamily(self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកពុម្ពអក្សរដែលកំពុងត្រូវប្រើប្រាស់នៅក្នុងផ្ទាំងអត្ថបទ។
- bool fontItalic(self) : គឺជាវិធីប្រើសម្រាប់ពិនិត្យមើលថាតើពុម្ពអក្សរដែលកំពុងត្រូវប្រើប្រាស់នៅក្នុងផ្ទាំងអត្ថបទពិតជាមានលក្ខណៈទ្រេតដែរឬទេ។
- float fontPointSize(self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកទំហំរបស់ពុម្ពអក្សរដែលកំពុងត្រូវប្រើប្រាស់នៅក្នុងផ្ទាំងអត្ថបទ។
- bool fontUnderline(self) : គឺជាវិធីប្រើសម្រាប់ពិនិត្យមើលថា តើពុម្ពអក្សរដែលកំពុងត្រូវប្រើប្រាស់នៅក្នុងផ្ទាំងអត្ថបទត្រូវបានគូសបន្ទាត់ពីក្រោមដែរឬទេ។
- int fontWeight(self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកទម្ងន់របស់ពុម្ពអក្សរដែលកំពុងត្រូវប្រើប្រាស់នៅក្នុងផ្ទាំងអត្ថបទ។ ទម្ងន់របស់ពុម្ពអក្សរគឺជាការដិតធំឬតូចរបស់ពុម្ពអក្សរ។
- insertHtml(self, QString text) : គឺជាវិធីប្រើសម្រាប់បញ្ចូលអត្ថបទដែលមានប្រភេទជាគេហទំព័រទៅក្នុងផ្ទាំងអត្ថបទនៅត្រង់កន្លែងដែលមាន ទ្រនិចអក្សរ (cursor) ។
- bool isReadOnly(self) : គឺជាវិធីប្រើសម្រាប់ពិនិត្យមើលថាតើអត្ថបទមាននៅក្នុងផ្ទាំងអត្ថបទណាមួយអាចត្រូវកែប្រែបានដែរឬទេ។
- paste(self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកអ្វីៗដែលមាននៅក្នុងថង់យាមមកដាក់នៅក្នុងផ្ទាំងអត្ថបទនៅត្រង់កន្លែងដែលមានទ្រនិចអក្សរ។
- redo(self) : គឺជាវិធីប្រើសម្រាប់យកមកវិញនូវអ្វីដែលបានទាត់ចោល។
- selectAll(self) : គឺជាវិធីប្រើសម្រាប់ជ្រើសរើសយកអត្ថបទទាំងមូល។
- setAlignment(self, Qt.Alignment a) : គឺជាវិធីប្រើសម្រាប់តម្រឹមកថាខ័ណ្ឌឲ្យនៅខាងឆ្វេង ខាងស្តាំ ឬ កណ្តាល ផ្ទាំងអត្ថបទ។
- setFontFamily(self, QString fontFamily) : គឺជាវិធីប្រើសម្រាប់កំណត់យកពុម្ពអក្សរណាមួយជាពុម្ពអក្សរសម្រាប់កថាខ័ណ្ឌណាមួយ។
- setFontItalic(self, bool b) : គឺជាវិធីប្រើសម្រាប់ធ្វើឲ្យពុម្ពអក្សរមានលក្ខណៈទ្រេត។
- setFontPointSize(self, float s) : គឺជាវិធីប្រើសម្រាប់កំណត់ទំហំរបស់ពុម្ពអក្សរ។
- setFontUnderline(self, bool b) : គឺជាវិធីប្រើសម្រាប់ធ្វើឲ្យពុម្ពអក្សរមានបន្ទាត់គូសពីក្រោម។
- setFontWeight(self, int w) : គឺជាវិធីប្រើសម្រាប់កំណត់ទម្ងន់របស់ពុម្ពអក្សរ។
- setText(self, QString text) : គឺជាវិធីប្រើសម្រាប់កំណត់យកអត្ថបទណាមួយជាអត្ថបទនៅក្នុងផ្ទាំងអត្ថបទ។
- setReadOnly(self, bool ro) : គឺជាវិធីប្រើសម្រាប់ធ្វើឲ្យអត្ថបទមាននៅក្នុងផ្ទាំងអត្ថបទមិនអាចត្រូវកែប្រែបាន។
- setTextBackgroundColor(self, QColor c) : គឺជាវិធីប្រើសម្រាប់កណត់ពណ៌នៃផ្ទៃរបស់ផ្ទាំងអត្ថបទ។
- setTextColor(self, QColor c) : គឺជាវិធីប្រើសម្រាប់កំណត់ពណ៌នៃពុម្ពអក្សរ។
- QString toHtml(self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកអត្ថបទដែលមាននៅក្នុងផ្ទាំងអត្ថបទ។
- undo(self) : គឺជាវិធីប្រើសម្រាប់ទាត់ចោលនូវអ្វីដែលបានធ្វើកន្លងមក។
ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“ផ្ទាំងអត្ថបទ”)
ប្រអប់ទំហំឈរ = QVBoxLayout()
ប្រអប់ទំហំដេក = QHBoxLayout()
សិស្ស.ផ្ទាំងអត្ថបទ = QTextEdit(“អត្ថបទដើម”)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្ទាំងអត្ថបទ)
សិស្ស.គន្លឹះ = [ ]
លេខរៀង = 0
for ស្លាក in [‘ពណ៌’, ‘ពុម្ពអក្សរ’, ‘ទំហំ’]:
សិស្ស.គន្លឹះ.append(QPushButton(ស្លាក))
ប្រអប់ទំហំដេក.addWidget(សិស្ស.គន្លឹះ[លេខរៀង])
លេខរៀង += 1
for ចុចគន្លឹះ in [សិស្ស.ចុចគន្លឹះពណ៌, សិស្ស.ចុចគន្លឹះពុម្ពអក្សរ, សិស្ស.ចុចគន្លឹះទំហំ]:
សិស្ស.connect(សិស្ស.គន្លឹះ[3-លេខរៀង], SIGNAL(‘clicked()’), ចុចគន្លឹះ)
លេខរៀង -= 1
ប្រអប់ទំហំឈរ.addLayout(ប្រអប់ទំហំដេក)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
def ចុចគន្លឹះពណ៌(សិស្ស):
សិស្ស.ផ្ទាំងអត្ថបទ.setTextColor(QColor(‘blue’))
def ចុចគន្លឹះពុម្ពអក្សរ(សិស្ស):
សិស្ស.ផ្ទាំងអត្ថបទ.setFontFamily(‘Khmer OS Bokor’)
def ចុចគន្លឹះទំហំ(សិស្ស):
សិស្ស.ផ្ទាំងអត្ថបទ.setFontPointSize(20)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.ផ្ទាំងអត្ថបទ.setTextColor(QColor(‘blue’)) គឺជាការយកវិធីឈ្មោះ setTextColor មកប្រើដើម្បីប្តូរពណ៌របស់អត្ថបទនៅក្នុងផ្ទាំងអត្ថបទឲ្យទៅជាពណ៌ខៀវ នៅពេលណាដែលគន្លឹះមានផ្លាកថា “ពណ៌” ត្រូវបានចុច។
សិស្ស.ផ្ទាំងអត្ថបទ.setFontFamily(‘Khmer OS Bokor’) គឺជាការយកវិធីឈ្មោះ setFontFamily មកប្រើដើម្បីប្តូរពុម្ពអក្សរនៅក្នុងផ្ទាំងអត្ថបទឲ្យទៅជាពុម្ពអក្សរ “Khmer OS Bokor” នៅពេលណាដែលគន្លឹះមានផ្លាកថា “ពុម្ពអក្សរ” ត្រូវបានចុច។
សិស្ស.ផ្ទាំងអត្ថបទ.setFontPointSize(20) គឺជាការយកវិធីឈ្មោះ setFontPointSize មកប្រើដើម្បីប្តូរទំហំរបស់ពុម្ពអក្សរនៅក្នុងផ្ទាំងអត្ថបទឲ្យស្មើនឹង 15 នៅពេលណាដែលគន្លឹះមានផ្លាកថា “ទំហំ” ត្រូវបានចុច។
រលកសញ្ញា
រលកសញ្ញាសំខាន់ៗដែលអាចត្រូវផ្សាយចេញពីផ្ទាំងអត្ថបទ គឹជារលកសញ្ញាមានដូចខាងក្រោមនេះ៖
- textChanged() : គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញនៅពេលដែលអត្ថបទនៅក្នុងផ្ទាំងត្រូវបានកែប្រែ។
ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“ផ្ទាំងអត្ថបទ”)
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ផ្លាក = QLabel()
សិស្ស.ផ្ទាំងអត្ថបទ = QTextEdit(“អត្ថបទដើម”)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្ទាំងអត្ថបទ)
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្លាក)
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
សិស្ស.connect(សិស្ស.ផ្ទាំងអត្ថបទ, SIGNAL(‘textChanged()’), សិស្ស.កែអត្ថបទ)
def កែអត្ថបទ(សិស្ស):
អត្ថបទ = សិស្ស.ផ្ទាំងអត្ថបទ.toHtml()
សិស្ស.ផ្លាក.setText(អត្ថបទ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.connect(សិស្ស.ផ្ទាំងអត្ថបទ, SIGNAL(‘textChanged()’), សិស្ស.កែអត្ថបទ) គឹជាការតភ្ជាប់រលកសញ្ញាឈ្មោះ “textChanged()” ទៅនឹងរន្ធដោតឈ្មោះ កែអត្ថបទ នៅពេលដែលអត្ថបទនៅក្នុងផ្ទាំងអត្ថបទឈ្មោះ ផ្ទាំងអត្ថបទ ត្រូវបានកែប្រែ។
ផ្ទាំងប្រយោគ ខែឧសភា 14, 2009
ការបង្កើតផ្ទាំងប្រយោគ
ផ្ទាំងប្រយោគ (line editor) គឺជារូបម៉្យាងប្រើសម្រាប់ចម្លងយកឃ្លាប្រយោគទាំងឡាយណាដែលត្រូវបានសរសេរនៅលើនោះ។ ដើម្បីបង្កើតផ្ទាំងប្រយោគ យើងត្រូវយកថ្នាក់ឈ្មោះ QLineEdit មកប្រើដោយសរសេរកម្មវិធីដូចខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“ផ្ទាំងប្រយោគ”)
សិស្ស.ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ផ្ទាំងប្រយោគ = QLineEdit()
សិស្ស.ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្ទាំងប្រយោគ)
សិស្ស.setLayout(សិស្ស.ប្រអប់ទំហំឈរ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.ផ្ទាំងប្រយោគ = QLineEdit() គឺជាការយកថ្នាក់ឈ្មោះ QLineEdit មកប្រើដើម្បីបង្កើតផ្ទាំងប្រយោគមួយមានឈ្មោះថា ផ្ទាំងប្រយោគ ។
ស្ថាបនិកនៃថ្នាក់ QLineEdit
ស្ថាបនិកនៃថ្នាក់ឈ្មោះ QLineEdit មានទម្រង់ដូចខាងក្រោមនេះ៖
- __init__ (self, QWidget parent = None)
- __init__ (self, QString, QWidget parent = None)
- QString : គឺជាដំណាងចាំទទួលយកដំណឹងដែលជាកម្រងអក្សរត្រូវលេចឡើងនៅលើផ្ទាំងប្រយោគត្រូវបង្កើត។
ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“ផ្ទាំងប្រយោគ”)
សិស្ស.ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ផ្ទាំងប្រយោគ = QLineEdit(“តើអ្នកឈ្មោះអ្វីដែរ?”)
សិស្ស.ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្ទាំងប្រយោគ)
សិស្ស.setLayout(សិស្ស.ប្រអប់ទំហំឈរ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.ផ្ទាំងប្រយោគ = QLineEdit(“តើអ្នកឈ្មោះអ្វីដែរ?”) គឺជាការយកថ្នាក់ឈ្មោះ QLineEdit មកប្រើដើម្បីបង្កើតផ្ទាំងប្រយោគមួយដែលមានកម្រងអក្សរ “តើអ្នកឈ្មោះអ្វី?” នៅក្នុងនៅរួចជាស្រេច។
វិធីសំខាន់ៗនៃថ្នាក់ QLineEdit
វិធីសំខាន់ៗនៃថ្នាក់ឈ្មោះ QLineEdit មានដូចខាងក្រោមនេះ៖
- setEchoMode(self, EchoMode) : គឺជាវិធីប្រើសម្រាប់កំណត់ប្រភេទនៃផ្ទាំងប្រយោគ។
- EchoMode : គឺជាដំណាងចាំទទួលយកដំណឹងដែលជាដំណឹងណាមួយក្នុងចំណោមដំណឹងដូចខាងក្រោមនេះ៖
- QLineEdit.Normal : គឺជាដំណឹងដែលធ្វើឲ្យផ្ទាំងប្រយោគមានសភាពធម្មតា
- QLineEdit.NoEho : គឺជាដំណឹងដែលធ្វើឲ្យផ្ទាំងប្រយោគមិនបង្ហាញអ្វីទាំងអស់នៅលើនោះ
- QLineEdit.Password : គឺជាដំណឹងដែលធ្វើឲ្យផ្ទាំងប្រយោគបង្ហាញអត្ថបទមានលក្ខណៈជាពាក្យសម្ងាត់
- QLineEdit.PasswordEchoOnEdit : គឺជាដំណឹងដែលធ្វើឲ្យផ្ទាំងប្រយោគបង្ហាញប្រយោគមានលក្ខណៈជាពាក្យសម្ងាត់ឬមានលក្ខណៈធម្មតានៅពេលដែលប្រយោគត្រូវកែប្រែ។
- EchoMode : គឺជាដំណាងចាំទទួលយកដំណឹងដែលជាដំណឹងណាមួយក្នុងចំណោមដំណឹងដូចខាងក្រោមនេះ៖
ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“ផ្ទាំងប្រយោគ”)
សិស្ស.ប្រអប់ទំហំដេក = QHBoxLayout()
សិស្ស.ផ្លាក = QLabel(‘ពាក្យសម្ងាត់:’)
សិស្ស.ផ្ទាំងប្រយោគ = QLineEdit()
សិស្ស.ផ្ទាំងប្រយោគ.setEchoMode(QLineEdit.Password)
សិស្ស.ប្រអប់ទំហំដេក.addWidget(សិស្ស.ផ្លាក)
សិស្ស.ប្រអប់ទំហំដេក.addWidget(សិស្ស.ផ្ទាំងប្រយោគ)
សិស្ស.setLayout(សិស្ស.ប្រអប់ទំហំដេក)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.ផ្ទាំងប្រយោគ.setEchoMode(QLineEdit.Password) គឺជាការយកវិធីឈ្មោះ setEhoMode មកប្រើដើម្បីធ្វើឲ្យផ្ទាំងប្រយោគឈ្មោះ ផ្ទាំងប្រយោគ ក្លាយទៅជាផ្ទាំងប្រយោគនៃពាក្យសម្ងាត់។
- QString text (self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកឃ្លាប្រយោគដែលត្រូវបានសរសេរនៅលើផ្ទាំងប្រយោគ។
- setText (self, QString) : គឺជាវិធីប្រើសម្រាប់កំណត់យកប្រយោគណាមួយជាប្រយោគមាននៅក្នុងផ្ទាំងប្រយោគ។
រលកសញ្ញា
រលកសញ្ញាសំខាន់ៗដែលអាចត្រូវផ្សាយចេញពីផ្ទាំងប្រយោគ គឺជារលកសញ្ញាមានដូចខាងក្រោមនេះ៖
- “returnPressed()” : គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញនៅពេលណាដែលខ្ទង់ Enter ត្រូវបានចុចនៅក្នុងផ្ទាំងប្រយោគ។
- “textChanged(QString)” : គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញនៅពេលណាដែលប្រយោគនៅក្នុងផ្ទាំងប្រយោគត្រូវបានផ្លាស់ប្តូរ។ ដំណឹងដែលត្រូវផ្សាយចេញទៅជាមួយនឹងរលកសញ្ញានោះ គឺជាកម្រងអក្សរដែលជាប្រយោគមាននៅក្នុងផ្ទាំងប្រយោគ។
- “textEdited(QString)” : គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញនៅពេលណាប្រយោគនៅក្នុងផ្ទាំងប្រយោគត្រូវបានផ្លាស់ប្តូរ។ ដំណឹងដែលត្រូវផ្សាយចេញទៅជាមួយនឹងរលកសញ្ញានេះ គឺជាកម្រងអក្សរដែលមាននៅក្នុងផ្ទាំងប្រយោគ។ រលកសញ្ញានេះត្រូវផ្សាយចេញ តែនៅពេលណាដែលប្រយោគនៅក្នុងផ្ទាំងប្រយោគត្រូវបានផ្លាស់ប្តូរដោយការសរសេផ្ទាល់ដៃតែប៉ុណ្ណោះ គឺខុសពីរលកសញ្ញាឈ្មោះ “textChanged(QString)” ដែលត្រូវផ្សាយចេញនៅគ្រប់ពេលវេលាដែលប្រយោគនៅក្នុងផ្ទាំងប្រយោគត្រូវបានផ្លាស់ប្តូរ ទោះបីជាការផ្លាស់ប្តូរនោះត្រូវធ្វើឡើងដោយការសរសេរដោយដៃ ឬដោយការសរសេរកម្មវិធីក៍ដោយ។
ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“ផ្ទាំងប្រយោគ”)
ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.ផ្លាក = [ ]
សិស្ស.ផ្ទាំងប្រយោគ = [ ]
ប្រអប់ទំហំដេក = [ ]
លេខរៀង = 0
for ស្លាក in [‘ឈ្មោះអ្នកប្រើ:’, ‘ពាក្យសម្ងាត់:’]:
សិស្ស.ផ្លាក.append(QLabel(ស្លាក))
សិស្ស.ផ្ទាំងប្រយោគ.append(QLineEdit())
if លេខរៀង == 1:
សិស្ស.ផ្ទាំងប្រយោគ[លេខរៀង].setEchoMode(QLineEdit.Password)
សិស្ស.ផ្លាក.append(QLabel())
ប្រអប់ទំហំដេក.append(QHBoxLayout())
ប្រអប់ទំហំដេក[លេខរៀង].addWidget(សិស្ស.ផ្លាក[លេខរៀង], Qt.AlignRight)
ប្រអប់ទំហំដេក[លេខរៀង].addWidget(សិស្ស.ផ្ទាំងប្រយោគ[លេខរៀង])
ប្រអប់ទំហំឈរ.addLayout(ប្រអប់ទំហំដេក[លេខរៀង])
សិស្ស.connect(សិស្ស.ផ្ទាំងប្រយោគ[លេខរៀង], SIGNAL(“returnPressed()” ), សិស្ស.ចុចខ្ទង់Enter)
លេខរៀង += 1
ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្លាក[2])
សិស្ស.setLayout(ប្រអប់ទំហំឈរ)
def ចុចខ្ទង់Enter(សិស្ស):
អត្ថបទ = ”
for ផ្ទាំងប្រយោគ in សិស្ស.ផ្ទាំងប្រយោគ:
if សិស្ស.ផ្ទាំងប្រយោគ.index(ផ្ទាំងប្រយោគ) == 0:
អត្ថបទ += “ឈ្មោះអ្នកប្រើគឺ៖ ” + ផ្ទាំងប្រយោគ.text() + ‘\n’
else:
អត្ថបទ += “ពាក្យសម្ងាត់គឺ៖ ” + ផ្ទាំងប្រយោគ.text()
សិស្ស.ផ្លាក[2].setText(អត្ថបទ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.connect(សិស្ស.ផ្ទាំងប្រយោគ[លេខរៀង], SIGNAL(“returnPressed()” ), សិស្ស.ចុចខ្ទង់Enter) គឺជាការតភ្ជាប់រលកសញ្ញាឈ្មោះ “returnPressed()” ទៅនឹងរន្ធដោតដែលជាវិធីមានឈ្មោះថា ចុចខ្ទង់Enter នៅពេលណាខ្ទង់ Enter ត្រូវបានចុចនៅក្នុងផ្ទាំងប្រយោគណាមួយ។
អត្ថបទ += “ឈ្មោះអ្នកប្រើគឺ៖ ” + ផ្ទាំងប្រយោគ.text() + ‘\n’ គឺជាបញ្ជាដែលនៅក្នុងនោះមានការតម្រូវឲ្យយកវិធីឈ្មោះ text មកប្រើក្នុងគោលបំណងចម្លងយកប្រយោគដែលមាននៅក្នុងផ្ទាំងប្រយោគឈ្មោះ ផ្ទាំងប្រយោគ ។
អត្ថបទ += “ពាក្យសម្ងាត់គឺ៖ ” + ផ្ទាំងប្រយោគ.text() គឺជាបញ្ជាដែលនៅក្នុងនោះមានការតម្រូវឲ្យយកវិធីឈ្មោះ text មកប្រើក្នុងគោលបំណងចម្លងយកប្រយោគដែលមាននៅក្នុងផ្ទាំងប្រយោគឈ្មោះ ផ្ទាំងប្រយោគ ។
របារនៃការវិវត្តន៍
ការបង្កើតរបារនៃការវិវត្តន៍
របារនៃការវិវត្តន៍ (progress bar) គឺជារូបម៉្យាងមានរាងជារបារមួយប្រើសម្រាប់បង្ហាញការវិវត្តន៍ទៅនៃសកម្មភាពផ្សេងៗ។ ដើម្បីបង្កើតរបារនៃការវិវត្តន៍ យើងត្រូវយកថ្នាក់ឈ្មោះ QProgressBar មកប្រើដោយសរសេរកម្មវិធីដូចខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“របារនៃការវិវត្តន៍”)
សិស្ស.ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.របារវិវត្តន៍ = QProgressBar()
សិស្ស.ប្រអប់ទំហំឈរ.addWidget(សិស្ស.របារវិវត្តន៍)
សិស្ស.setLayout(សិស្ស.ប្រអប់ទំហំឈរ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
ស្ថាបនិកនៃថ្នាក់ QProgressBar
- __init__ (self, QWidget parent = None)
វិធីសំខាន់ៗនៃថ្នាក់ QProgressBar
វិធីសំខាន់ៗនៃថ្នាក់ឈ្មោះ QProgressBar មានដូចខាងក្រោមនេះ៖
- setRange (self, int minimum, int maximum) : គឹជាវិធីប្រើសម្រាប់កំណត់តម្លៃជាអប្បបរិមានិងជាអតិបរិមានៅលើរបារនៃការវិវត្តន៍ណាមួយ។ តម្លៃមានស្រាប់ជាអប្បបរិមានិងជាអតិបរិមានៅលើរបារនៃការវិវត្តន៍ដែលទើបនឹងត្រូវបានបង្កើតឡើងគឺ 0 និង 100 ។
- setValue (self, int value) : គឺជាវិធីប្រើសម្រាប់កំណត់តម្លៃនៃការវិវត្តន៍នៅលើរបារនៃការវិវត្តន៍ណាមួយ។
- int value (self) : គឺជាវិធីប្រើសម្រាប់ចម្លងយកតម្លៃនៃការវិវត្តន៍ដែលលេចឡើងនៅលើរបារនៃការវិវត្តន៍ណាមួយ។
ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“របារនៃការវិវត្តន៍”)
សិស្ស.ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.របារវិវត្តន៍ = QProgressBar()
សិស្ស.របារវិវត្តន៍.setValue (50)
សិស្ស.ប្រអប់ទំហំឈរ.addWidget(សិស្ស.របារវិវត្តន៍)
សិស្ស.setLayout(សិស្ស.ប្រអប់ទំហំឈរ)
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.របារវិវត្តន៍.setValue (50) គឺជាការយកវិធីឈ្មោះ setValue មកប្រើដើម្បីកំណត់តម្លៃនៅលើរបារនៃការវិវត្តន៍ឈ្មោះ របារវិវត្តន៍ ឲ្យមានតម្លៃស្មើនឹង 50 ។
រលកសញ្ញា
រលកសញ្ញាដែលអាចត្រូវផ្សាយចេញពីរបារនៃការវិវត្តន៍ គឺជារលកសញ្ញាមានដូចខាងក្រោមនេះ៖
- "valueChanged (int)" គឺជារលកសញ្ញាដែលត្រូវផ្សាយចេញពីរបារនៃការវិវត្តន៍ណាមួយនៅពេលដែលតម្លៃរបស់វាមានការផ្លាស់ប្តូរ។ ដំណឹងដែលត្រូវផ្សាយចេញទៅជាមួយនឹងរលកសញ្ញានោះ គឺជាតម្លៃដែលកំពុងមាននៅលើរបារនៃការវិវត្តន៍នោះ។
import sys
from PyQt4.QtCore import*
from PyQt4.QtGui import*
class រូបមេ(QWidget):
def __init__(សិស្ស):
QWidget.__init__(សិស្ស)
សិស្ស.setWindowTitle(“របារនៃការវិវត្តន៍”)
សិស្ស.ប្រអប់ទំហំឈរ = QVBoxLayout()
សិស្ស.របារវិវត្តន៍ = QProgressBar()
សិស្ស.គន្លឹះ = QPushButton(“ទាញយក”)
សិស្ស.ផ្លាក = QLabel()
សិស្ស.ផ្លាក.setFrameStyle (QFrame.Raised | QFrame.Box)
សិស្ស.ប្រអប់ទំហំឈរ.addWidget(សិស្ស.គន្លឹះ)
សិស្ស.ប្រអប់ទំហំឈរ.addWidget(សិស្ស.របារវិវត្តន៍)
សិស្ស.ប្រអប់ទំហំឈរ.addWidget(សិស្ស.ផ្លាក)
សិស្ស.setLayout(សិស្ស.ប្រអប់ទំហំឈរ)
សិស្ស.connect(សិស្ស.របារវិវត្តន៍, SIGNAL(“valueChanged(int)”), សិស្ស.ដូរតម្លៃ)
សិស្ស.connect(សិស្ស.គន្លឹះ, SIGNAL(“clicked()”), សិស្ស.ចុចគន្លឹះ)
def ចុចគន្លឹះ(សិស្ស):
for តម្លៃ in range(100):
សិស្ស.របារវិវត្តន៍.setValue(តម្លៃ)
def ដូរតម្លៃ(សិស្ស, តម្លៃ):
សិស្ស.ផ្លាក.setText(“ទាញយកបាន {0}%”.format(តម្លៃ))
កម្មវិធី = QApplication(sys.argv)
បង្អួច = រូបមេ()
កម្មវិធី.setFont(QFont(‘Khmer OS’, 11))
បង្អួច.show()
កម្មវិធី.exec_()
សិស្ស.connect(សិស្ស.របារវិវត្តន៍, SIGNAL(“valueChanged(int)”), សិស្ស.ដូរតម្លៃ) គឺជាការតភ្ជាប់រលកសញ្ញាឈ្មោះ “valueChanged(int)” ទៅនឹងរន្ធដោតដែលជាវិធីមានឈ្មោះថា ដូរតម្លៃ នៅពេលដែលតម្លៃនៅលើរបារនៃការវិវត្តន៍ឈ្មោះ របារវិវត្តន៍ ត្រូវបានផ្លាស់ប្តូរ។