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

 

 
តាមដាន

Get every new post delivered to your Inbox.