28 มีนาคม 2558

Published 3/28/2558 by with 0 comment

สร้าง GUI ด้วย PySide : กำหนดขนาดของหน้าต่าง

สวัสดีผู้อ่านทุกท่านครับ บทความนี้จะพาผู้อ่านไปกำหนดขนาดของหน้าต่างในการสร้าง GUI ด้วย PySide กันครับ

กำหนดขนาดของหน้าต่าง
ต้องกำหนดขนาดก่อนใช้ QWidget.show

[python]
QWidget.resize(ขนาดตามพิกัดตามแกน x , ขนาดพิกัดตามแกน y)[/python]

การกำหนดขนาดของหน้าต่างในคำสั่ง QWidget.show


แสดงหน้าต่าง
ตามไลบรารีสามารถใช้คำสั่ง QWidget.show ได้เลย แต่ถ้าต้องการปรับแต่งมากกว่านั้น สามารถทำได้ดังนี้ครับ
เต็มหน้าจอ

[python]QWidget.showFullScreen()[/python]

เต็มหน้าจอตามขนาดสูงสุดของหน้าต่าง

[python]QWidget.showMaximized()[/python]

โชว์ตามแบบปกติ
หน้าต่าง GUI จะเป็นไปตามขนาดที่เรากำหนดด้วยคำสั่ง QWidget.resize() ครับ หากเราไม่ได้กำหนดค่า QWidget.resize() อาจจะทำให้โปรแกรมแสดงหน้าต่างไม่ถูกต้องครับ

[python]QWidget.showNormal() [/python]

แสดงหน้าต่างตามขนาด QWidget.resize()
โดยจะแสดงตามค่าขนาด QWidget.resize() หรือค่าต่ำสุดที่กำหนดไว้

[python]QWidget.showMinimized()[/python]





 

ตัวอย่าง

[python]import sys
from PySide.QtCore import *
from PySide.QtGui import *

app = QApplication(sys.argv)

win = QWidget()

layout = QVBoxLayout() #ดึง QVBoxLayout() มาใช้งานเพิ่มให้เราสามารถดึงวัตถุมารวมกันได้
win.setLayout(layout) #กำหนดให้ตัวแปร win ชึ่งเป็น QWidget ดึงตัวแปรที่อยู่ใน layout มาแสดง

label = QLabel("Hello World") #กำหนดข้อความ
layout.addWidget(label) #เพิ่มดึงตัวแปร label เข้ามา

win.resize(320, 240) #กำหนดขนาดของหน้าต่างโปรแกรม
win.setWindowTitle("Hello, World!") #กำหนดชื่อตรงหัวโปรแกรม
win.show() #แสดงโดยใช้คำสั่ง QWidget.show

app.exec_()
[/python]

ผลลัพธ์

หากเราเปลี่ยนจาก QWidget.show เป็น QWidget.showFullScreen() จะต้องเปลี่ยนตรง

[python]win.show()[/python]

ไปเป็น

[python]win.showFullScreen()[/python]

ผลลัพธ์

ภาพหน้าจอ (397)
 จะเต็มหน้าต่างคอมพิวเตอร์เลยครับ
หากเปลี่ยนเป็น QWidget.showMaximized()
จะต้องเปลี่ยนตรง

[python]win.show()[/python]

ไปเป็น

[python]win.showMaximized()[/python]

ผลลัพธ์
สร้าง GUI ด้วย PySide : กำหนดขนาดของหน้าต่าง
จะเต็มแค่ในกรอบสูงสุดของระบบปฎิบัติการนั้น ๆ ครับ ส่วนคำสั่งอื่น ๆ ลองใช้กันดูนะครับ

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)