Python 3

Just another WordPress.com weblog

ខ្សែ​វ័ណ្ឌ ខែ​ឧសភា 19, 2009

Filed under: កម្មវិធី PyQt4 — នាគរាជ @ 11:54 ល្ងាច
Tags:

ការបង្កើត​ខ្សែ​វ័ណ្ឌ

ខ្សែ​វ័ណ្ឌ (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)” ទៅ​នឹង​រន្ធដោត​ដែល​ជា​វិធី​មាន​ឈ្មោះ​ថា ចុចខ្សែវ័ណ្ឌ នៅ​ពេល​ណា​ដែល​ខ្សែ​វ័ណ្ឌ​ត្រូវ​បាន​ចុច​។

 

ផ្ទាំង​កម្រង

Filed under: កម្មវិធី PyQt4 — នាគរាជ @ 7:01 ល្ងាច
Tags:


ការបង្កើត​ផ្ទាំង​កម្រង

ផ្ទាំង​កម្រង (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

Filed under: កម្មវិធី PyQt4 — នាគរាជ @ 1:37 ល្ងាច
Tags:

ការបង្កើត​ប្រអប់​ពុម្ព​អក្សរ

ប្រអប់​ពុម្ព​អក្សរ (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

Filed under: កម្មវិធី PyQt4 — នាគរាជ @ 10:30 ល្ងាច
Tags:

ការបង្កើត​ប្រអប់​ចម្រុះ


ប្រអប់​ចម្រុះ (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)” ទៅ​នឹង​រន្ធដោត​ដែល​ជា​វិធី​មាន​ឈ្មោះ​ថា ចុចឈ្មោះ នៅ​ពេល​ណា​ដែល​ឈ្មោះ​នៅ​ក្នុង​ប្រអប់​ចម្រុះ​ឈ្មោះ ប្រអប់ចម្រុះ ត្រូវ​បាន​ចុច​។

 

ផ្ទាំង​ពេលវេលាកាលបរិច្ឆេទ

Filed under: កម្មវិធី PyQt4 — នាគរាជ @ 10:38 ព្រឹក
Tags:

ការបង្កើត​ផ្ទាំង​ពេល​វេលាកាលបរិច្ឆេទ


ផ្ទាំងពេល​វេលាកាលបរិច្ឆេទ (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() គឺ​ជា​ការយក​ថ្នាក់​ឈ្មោះ QDateTimeEdit មក​ប្រើ​ដើម្បី​បង្កើត​ផ្ទាំង​ពេល​វេលាកាលបរិច្ឆេទ​​មួយ​មាន​ឈ្មោះ​ថា ផ្ទាំងពេលវេលា ។

ស្ថាបនិក​នៃ​ថ្នាក់ QDateTimeEdit

ស្ថាបនិក​នៃ​ថ្នាក់​ឈ្មោះ 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

វិធី​សំខាន់​ៗ​នៃ​ថ្នាក់ QDateTimeEdit មាន​ដូច​ខាង​ក្រោម​នេះ​៖
  • 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

Filed under: កម្មវិធី PyQt4 — នាគរាជ @ 11:33 ព្រឹក
Tags:

ការបង្កើត​ប្រអប់​ចំនួនពិត

ប្រអប់​ចំនួនពិត (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_()

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

Filed under: កម្មវិធី PyQt4 — នាគរាជ @ 5:32 ល្ងាច
Tags:

ការបង្កើត​ប្រអប់​ចំនួនគត់

ប្រអប់​ចំនួនគត់ (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_()

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()” ទៅ​នឹង​រន្ធដោត​ឈ្មោះ តម្លៃដូរ នៅ​ពេល​ណា​ដែល​តម្លៃ​នៅ​ក្នុង​ប្រអប់​ចំនួនគត់​ឈ្មោះ ប្រអប់លេខ ​ត្រូវ​បាន​ផ្លាស់ប្តូរ​។

 

ផ្ទាំងអត្ថបទ

Filed under: កម្មវិធី PyQt4 — នាគរាជ @ 2:44 ល្ងាច
Tags:

ការបង្កើត​ផ្ទាំង​អត្ថបទ

ផ្ទាំង​អត្ថបទ​ (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_()

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

Filed under: កម្មវិធី PyQt4 — នាគរាជ @ 6:40 ល្ងាច
Tags:

ការបង្កើត​ផ្ទាំង​ប្រយោគ

ផ្ទាំង​ប្រយោគ (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_()

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 : គឺ​ជា​ដំណឹង​ដែល​ធ្វើ​ឲ្យ​ផ្ទាំង​ប្រយោគ​​បង្ហាញ​ប្រយោគ​មាន​លក្ខណៈ​ជា​ពាក្យ​សម្ងាត់​ឬ​មាន​លក្ខណៈ​ធម្មតា​នៅ​ពេល​ដែល​ប្រយោគ​ត្រូវ​កែប្រែ។

ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

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 មក​ប្រើ​ក្នុង​គោលបំណង​ចម្លង​យក​ប្រយោគ​ដែល​​មាន​នៅ​ក្នុង​ផ្ទាំង​ប្រយោគ​​ឈ្មោះ ផ្ទាំងប្រយោគ ។

 

របារនៃការវិវត្តន៍

Filed under: កម្មវិធី PyQt4 — នាគរាជ @ 1:22 ល្ងាច
Tags:

ការបង្កើត​របារ​នៃ​ការវិវត្តន៍

របារ​នៃ​ការវិវត្តន៍ (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_()

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() គឺ​ជា​ការ​យក​ថ្នាក់​ឈ្មោះ QProgressBar មក​ប្រើ​ដើម្បី​បង្កើត​របារ​នៃ​ការវិវត្តន៍​មួយ​មាន​ឈ្មោះ​ថា របារវិវត្តន៍ ។

ស្ថាបនិក​នៃ​ថ្នាក់ QProgressBar

ស្ថាបនិក​នៃ​ថ្នាក់ 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)” ទៅ​នឹង​រន្ធដោត​ដែល​ជា​វិធី​មាន​ឈ្មោះ​ថា ដូរតម្លៃ នៅ​ពេល​ដែល​តម្លៃ​នៅ​លើ​របារ​នៃ​ការវិវត្តន៍​ឈ្មោះ របារវិវត្តន៍​ ត្រូវ​បាន​ផ្លាស់​ប្តូរ​។

 

 
Design a site like this with WordPress.com
Get started