φυβλαςのβλογ
phyblas的博客



pyqt





pyqt เป็นมอดูลสำหรับสร้าง GUI ในภาษาไพธอนซึ่งถูกใช้งานอย่างกว้างขวาง สามารถเรียนรู้เพื่อเอาไปใช้สร้าง GUI สำหรับทำอะไรต่างๆได้มากมาย

~ pyqt เบื้องต้น ~


บทความนี้เขียนขึ้นเพื่อแนะนำหลักการใช้งาน pyqt ในเบื้องต้น โดยจะใช้ pyqt5 เป็นตัวอย่าง แต่หากใช้ pyqt4, pyqt6 หรือ pyside ก็สามารถอ่านเนื้อหาตรงนี้ได้เช่นกัน เพราะโค้ดส่วนใหญ่เหมือนกัน เพียงแต่อาจต้องมีการปรับโค้ดบางส่วน

บทที่ ๑: ทำความเข้าใจภาพรวมการใช้งาน
※ QApplication QWidget .show .exec_

บทที่ ๒: การสร้างปุ่มและจัดขนาดและตำแหน่งของ widget
※ .setGeometry QPushButton QIcon .move .resize .setFixedSize .setFixedWidth .setFixedHeight .setMinimumSize .setMaximumSize

บทที่ ๓: การปรับแต่งหน้าต่าง
※ .setWindowTitle .setWindowIcon .setWindowOpacity .setWindowFlag .windowFlags .setWindowFlags .setWindowState .windowState

บทที่ ๔: การทำให้คำสั่งทำงานเมื่อกดปุ่ม
※ .connect .clicked .pressed .released .close .setEnabled

บทที่ ๕: การใส่ข้อความและปรับรูปแบบตัวหนังสือ
※ QLabel QFont .setFont .setFamily .setPointSize .setItalic .setBold .setUnderline .setOverline .setStrikeOut .setAlignment .setMargin .setStyleSheet .setText .clear

บทที่ ๖: การสร้างกรอบและขีดเส้น
※ QFrame .setFrameShape .setFrameShadow .setLineWidth .setMidLineWidth

บทที่ ๗: การใส่รูปภาพ
※ .setPixmap QPixmap .width .height .size .isNull .scaled .scaledToHeight .scaledToWidth

บทที่ ๘: การจัดวาง widget เป็นโครง
※ .setLayout .addWidget QHBoxLayout .setAlignment QVBoxLayout .addLayout .addStretch QGridLayout

บทที่ ๙: การสร้างและใช้งานช่องกรอกข้อความ
※ QLineEdit .text .returnPressed .editingFinished .textChanged .textEdited .cursorPositionChanged .setCursorPosition .cursorPosition .cursorBackward .cursorForward .selectionChanged .setSelection .selectedText .selectionStart QTextEdit .toPlainText

บทที่ ๑๐: การสร้างและใช้งานช่องติ๊ก
※ QCheckBox .toggle .setChecked .isChecked .toggled .setCheckable

บทที่ ๑๑: การสร้างและใช้งานปุ่มกดเลือก
※ QRadioButton QButtonGroup .addButton .buttonClicked .checkedButton .setExclusive

บทที่ ๑๒: การสร้างและใช้งานกล่องเลือกข้อความ
※ QComboBox .setCurrentIndex .setCurrentText .currentIndex .currentText .activated .currentIndexChanged .currentTextChanged

บทที่ ๑๓: การสร้างและใช้งานช่องปรับค่า
※ QSpinBox .value .setValue .setSingleStep .setRange .setMaximum .setMinimum .valueChanged .setPrefix .setSuffix .text .cleanText QDoubleSpinBox .setDecimals

บทที่ ๑๔: การสร้างและใช้งานช่องปรับวันที่และเวลา
※ QDateEdit QTimeEdit QDateTimeEdit QDatetime QDate QTime .dateTimeChanged .dateChanged .timeChanged .setCalendarPopup .calendarWidget .setLocale

บทที่ ๑๕: การสร้างและใช้งานตัวเลื่อน
※ QSlider .sliderMoved .setOrientation .sliderPressed .sliderReleased QScrollBar .setSingleStep .setPageStep QDial

บทที่ ๑๖: การสร้างและใช้งานพื้นที่เลื่อนได้
※ QScrollArea .setWidget .setHorizontalScrollBar .setVerticalScrollBar .setHorizontalScrollBarPolicy .setVerticalScrollBarPolicy QSplitter

บทที่ ๑๗: การสร้างและใช้งานกล่องเด้งแสดงข้อความ
※ QMessageBox .about .question .warning .critical .information

บทที่ ๑๘: การสร้างและใช้งานหน้าต่างป้อนข้อมูล
※ QInputDialog .getText .getMultiLineText .getInt .getDouble .getItem QColorDialog.getColor QFontDialog.getFont

บทที่ ๑๙: การสร้างและใช้งานหน้าต่างเปิดหาไฟล์
※ QFileDialog .getOpenFileName .getOpenFileNames .getExistingDirectory .getSaveFileName

บทที่ ๒๐: การสร้างและใช้งานหน้าต่างหลัก
※ QMainWindow .setCentralWidget .statusBar .showMessage .addDockWidget QDockWidget .menuBar .addMenu .addAction .setNativeMenuBar QAction QActionGroup .setShortcut .triggered .setStatusTip .addToolBar

บทที่ ๒๑: การสร้างและใช้งานพื้นที่แสดงกลุ่มข้อความ
※ QListWidget .addItem .addItems .insertItem .insertItems .item QListWidgetItem .currentRow .currentItem .setCurrentRow .currentRowChanged .currentTextChanged .currentItemChanged .itemPressed .itemClicked .itemDoubleClicked

บทที่ ๒๒: การสร้างและใช้งานพื้นที่แสดงตาราง
※ QTableWidget .setCellWidget QTableWidgetItem .setItem .setRowHeight .setColumnWidth .setHorizontalHeaderLabels setVerticalHeaderLabels .currentRow .currentColumn .selectedRanges .itemSelectionChanged .cellPressed .cellClicked .cellDoubleClicked .itemPressed .itemClicked .itemDoubleClicked .cellChanged .itemChanged

บทที่ ๒๓: การเขียนทับเมธอด event ต่างๆเพื่อให้มีการทำงานตามที่ต้องการเมื่อมีเหตุการณ์ต่างๆเกิดขึ้น
※ resizeEvent mousePressEvent mouseReleaseEvent mouseDoubleClickEvent enterEvent leaveEvent closeEvent keyPressEvent keyReleaseEvent

บทที่ ๒๔: การสร้างและเชื่อมต่อหรือปล่อยสัญญาณ
※ pyqtSignal .emit QObject .sender

บทที่ ๒๕: การกดลากข้อมูลเข้ามาวางในหน้าต่าง
※ .setAcceptDrops dragEnterEvent dropEvent .mimeData .hasUrls .hasImage .imageData

บทที่ ๒๖: การสร้างข้อมูลสำหรับกดลากวางขึ้นมา
※ .setDragEnabled dragMoveEvent .source QDrag QMimeData .setMimeData mouseMoveEvent





目录

从日本来的名言
模块
-- numpy
-- matplotlib

-- pandas
-- manim
-- opencv
-- pyqt
-- pytorch
机器学习
-- 神经网络
javascript
蒙古语
语言学
maya
概率论
与日本相关的日记
与中国相关的日记
-- 与北京相关的日记
-- 与香港相关的日记
-- 与澳门相关的日记
与台湾相关的日记
与北欧相关的日记
与其他国家相关的日记
qiita
其他日志

按类别分日志



ติดตามอัปเดตของบล็อกได้ที่แฟนเพจ

  查看日志

  推荐日志

ตัวอักษรกรีกและเปรียบเทียบการใช้งานในภาษากรีกโบราณและกรีกสมัยใหม่
ที่มาของอักษรไทยและความเกี่ยวพันกับอักษรอื่นๆในตระกูลอักษรพราหมี
การสร้างแบบจำลองสามมิติเป็นไฟล์ .obj วิธีการอย่างง่ายที่ไม่ว่าใครก็ลองทำได้ทันที
รวมรายชื่อนักร้องเพลงกวางตุ้ง
ภาษาจีนแบ่งเป็นสำเนียงอะไรบ้าง มีความแตกต่างกันมากแค่ไหน
ทำความเข้าใจระบอบประชาธิปไตยจากประวัติศาสตร์ความเป็นมา
เรียนรู้วิธีการใช้ regular expression (regex)
การใช้ unix shell เบื้องต้น ใน linux และ mac
g ในภาษาญี่ปุ่นออกเสียง "ก" หรือ "ง" กันแน่
ทำความรู้จักกับปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง
ค้นพบระบบดาวเคราะห์ ๘ ดวง เบื้องหลังความสำเร็จคือปัญญาประดิษฐ์ (AI)
หอดูดาวโบราณปักกิ่ง ตอนที่ ๑: แท่นสังเกตการณ์และสวนดอกไม้
พิพิธภัณฑ์สถาปัตยกรรมโบราณปักกิ่ง
เที่ยวเมืองตานตง ล่องเรือในน่านน้ำเกาหลีเหนือ
ตระเวนเที่ยวตามรอยฉากของอนิเมะในญี่ปุ่น
เที่ยวชมหอดูดาวที่ฐานสังเกตการณ์ซิงหลง
ทำไมจึงไม่ควรเขียนวรรณยุกต์เวลาทับศัพท์ภาษาต่างประเทศ