บทความนี้จะพาทุกท่านไปจับทั้ง 2 ตัวอย่างนั้นมารวมในหน้าต่างเดียวกัน ในการดึงองค์ประกอบต่าง ๆ มารวมกันต้องใช้ QVBoxLayout() ครับ
โค้ดโปรแกรม Hello World ตัวอย่างที่ 3
import sys from PySide.QtCore import * from PySide.QtGui import * app = QApplication(sys.argv) win = QWidget() win.resize(320, 240) #กำหนดขนาดของหน้าต่างโปรแกรม win.setWindowTitle("Hello, World!") #กำหนดชื่อตรงหัวโปรแกรม layout = QVBoxLayout() #ดึง QVBoxLayout() มาใช้งานเพิ่มให้เราสามารถดึงวัตถุมารวมกันได้ win.setLayout(layout) #กำหนดให้ตัวแปร win ชึ่งเป็น QWidget ดึงตัวแปรที่อยู่ใน layout มาแสดง label = QLabel("Hello World") #กำหนดข้อความ layout.addWidget(label) #เพิ่มดึงตัวแปร label เข้ามา win.show() #แสดง app.exec_()
ผลลัพธ์
จะเห็นได้ว่าเราสามารถดึงทั้งองค์ประกอบต่าง ๆ มารวมกันในหน้าต่างเดียวกันได้ครับ หากเราต้องการดึงองค์ประกอบมากกว่าสองขึ้นไปสามารถทำแบบเดียวได้ ดังตัวอย่างต่อไปนี้
ตัวอย่างที่ 4
import sys from PySide.QtCore import * from PySide.QtGui import * app = QApplication(sys.argv) win = QWidget() win.resize(320, 240) #กำหนดขนาดของหน้าต่างโปรแกรม win.setWindowTitle("Hello, World!") #กำหนดชื่อตรงหัวโปรแกรม layout = QVBoxLayout() win.setLayout(layout) label = QLabel("Hello World") label2 = QLabel("สวัสดี") label3 = QLabel("เพิ่งเริ่มต้นเรียน PySide -..- จากผู้เขียนบทความ") layout.addWidget(label) layout.addWidget(label2) layout.addWidget(label3) win.show() #แสดง app.exec_()
ผลลัพธ์
ติดตามบทความต่อไปนะครับ :)
สำหรับท่านใดที่มีปัญหากับภาษาไทย PySide ให้ท่านตรวจสอบ encoding ของไฟล์กับข้อความว่าเป็น utf-8 หรือไม่ครับ ที่มีปัญหาเพราะ encoding ของไฟล์กับข้อความไม่เหมือนกันครับ
ขอบคุณครับ
ทำให้เป็นภาษาไทยยังไงครับ แสดงผลออกมาแล้วภาษามันเพี้ยน
ตอบลบตรวจสอบ encoding ของไฟล์กับข้อความว่าเป็น utf-8 หรือไม่ครับ ก่อนครับ
ลบรบกวนช่วยสอนวิธีตรวจสอบหน่อยครับ
ลบใส่
ลบ# -*- coding: utf-8 -*-
เข้าไปบนหัวโค้ดครับ
ไม่ได้อยู่ดีครับ เป็นภาษาต่างด้าว ผมใช้ python 2.7.13 PySide 1.2.4
ลบ