上傳檔案到「pyqt5/CODE/元件使用範例/進階範例」
This commit is contained in:
parent
2eea33ce59
commit
350dd802eb
40
pyqt5/CODE/元件使用範例/進階範例/qt05_QDockWidget.py
Normal file
40
pyqt5/CODE/元件使用範例/進階範例/qt05_QDockWidget.py
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
'''
|
||||||
|
【簡介】
|
||||||
|
PyQT5中QDockWidget範例
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from PyQt5.QtCore import *
|
||||||
|
from PyQt5.QtGui import *
|
||||||
|
from PyQt5.QtWidgets import *
|
||||||
|
|
||||||
|
class DockDemo(QMainWindow):
|
||||||
|
def __init__(self, parent=None):
|
||||||
|
super(DockDemo, self).__init__(parent)
|
||||||
|
layout = QHBoxLayout()
|
||||||
|
bar=self.menuBar()
|
||||||
|
file=bar.addMenu("File")
|
||||||
|
file.addAction("New")
|
||||||
|
file.addAction("Save")
|
||||||
|
file.addAction("Quit")
|
||||||
|
self.items = QDockWidget("Dockable", self)
|
||||||
|
self.listWidget = QListWidget()
|
||||||
|
self.listWidget.addItem("item1")
|
||||||
|
self.listWidget.addItem("item2")
|
||||||
|
self.listWidget.addItem("item3")
|
||||||
|
self.items.setWidget(self.listWidget)
|
||||||
|
self.items.setFloating(False)
|
||||||
|
self.setCentralWidget(QTextEdit())
|
||||||
|
self.addDockWidget(Qt.RightDockWidgetArea, self.items)
|
||||||
|
self.setLayout(layout)
|
||||||
|
self.setWindowTitle("Dock範例")
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app = QApplication(sys.argv)
|
||||||
|
demo = DockDemo()
|
||||||
|
demo.show()
|
||||||
|
sys.exit(app.exec_())
|
30
pyqt5/CODE/元件使用範例/進階範例/qt05_QListWidget.py
Normal file
30
pyqt5/CODE/元件使用範例/進階範例/qt05_QListWidget.py
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
'''
|
||||||
|
【簡介】
|
||||||
|
PyQT5中QListWidget範例
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from PyQt5.QtCore import *
|
||||||
|
from PyQt5.QtGui import *
|
||||||
|
from PyQt5.QtWidgets import *
|
||||||
|
|
||||||
|
class ListWidget(QListWidget):
|
||||||
|
def clicked(self,item):
|
||||||
|
QMessageBox.information(self, "ListWidget", "您選擇了:"+item.text())
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app = QApplication(sys.argv)
|
||||||
|
listWidget = ListWidget()
|
||||||
|
listWidget.resize(300,120)
|
||||||
|
listWidget.addItem("Item 1");
|
||||||
|
listWidget.addItem("Item 2");
|
||||||
|
listWidget.addItem("Item 3");
|
||||||
|
listWidget.addItem("Item 4");
|
||||||
|
listWidget.setWindowTitle('QListwidget範例')
|
||||||
|
listWidget.itemClicked.connect(listWidget.clicked)
|
||||||
|
listWidget.show()
|
||||||
|
sys.exit(app.exec_())
|
49
pyqt5/CODE/元件使用範例/進階範例/qt05_QMultipleDoc.py
Normal file
49
pyqt5/CODE/元件使用範例/進階範例/qt05_QMultipleDoc.py
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
'''
|
||||||
|
【簡介】
|
||||||
|
PyQT5中QMdiArea範例
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from PyQt5.QtCore import *
|
||||||
|
from PyQt5.QtGui import *
|
||||||
|
from PyQt5.QtWidgets import *
|
||||||
|
|
||||||
|
class MainWindow(QMainWindow):
|
||||||
|
count=0
|
||||||
|
def __init__(self, parent=None):
|
||||||
|
super(MainWindow, self).__init__(parent)
|
||||||
|
self.mdi = QMdiArea()
|
||||||
|
self.setCentralWidget(self.mdi)
|
||||||
|
bar=self.menuBar()
|
||||||
|
file=bar.addMenu("File")
|
||||||
|
file.addAction("New")
|
||||||
|
file.addAction("Cascade")
|
||||||
|
file.addAction("Tiled")
|
||||||
|
file.triggered[QAction].connect(self.windowaction)
|
||||||
|
self.setWindowTitle("MDI Demo")
|
||||||
|
|
||||||
|
def windowaction(self, q):
|
||||||
|
print( "triggered")
|
||||||
|
|
||||||
|
if q.text()=="New":
|
||||||
|
MainWindow.count=MainWindow.count+1
|
||||||
|
sub=QMdiSubWindow()
|
||||||
|
sub.setWidget(QTextEdit())
|
||||||
|
sub.setWindowTitle("subwindow"+str(MainWindow.count))
|
||||||
|
self.mdi.addSubWindow(sub)
|
||||||
|
sub.show()
|
||||||
|
if q.text()=="Cascade":
|
||||||
|
self.mdi.cascadeSubWindows()
|
||||||
|
if q.text()=="Tiled":
|
||||||
|
self.mdi.tileSubWindows()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app = QApplication(sys.argv)
|
||||||
|
demo = MainWindow()
|
||||||
|
demo.show()
|
||||||
|
sys.exit(app.exec_())
|
||||||
|
|
52
pyqt5/CODE/元件使用範例/進階範例/qt05_QScrollBar.py
Normal file
52
pyqt5/CODE/元件使用範例/進階範例/qt05_QScrollBar.py
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
'''
|
||||||
|
【簡介】
|
||||||
|
PyQT5中QScrollBar範例
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from PyQt5.QtCore import *
|
||||||
|
from PyQt5.QtGui import *
|
||||||
|
from PyQt5.QtWidgets import *
|
||||||
|
|
||||||
|
class Example(QWidget):
|
||||||
|
def __init__(self):
|
||||||
|
super(Example, self).__init__()
|
||||||
|
self.initUI()
|
||||||
|
|
||||||
|
def initUI(self):
|
||||||
|
hbox = QHBoxLayout( )
|
||||||
|
self.l1 = QLabel("拖動滑塊改變顏色")
|
||||||
|
self.l1.setFont(QFont("Arial",16))
|
||||||
|
hbox.addWidget(self.l1)
|
||||||
|
self.s1 = QScrollBar()
|
||||||
|
self.s1.setMaximum(255)
|
||||||
|
self.s1.sliderMoved.connect(self.sliderval)
|
||||||
|
self.s2 = QScrollBar()
|
||||||
|
self.s2.setMaximum(255)
|
||||||
|
self.s2.sliderMoved.connect(self.sliderval)
|
||||||
|
self.s3 = QScrollBar()
|
||||||
|
self.s3.setMaximum(255)
|
||||||
|
self.s3.sliderMoved.connect(self.sliderval)
|
||||||
|
hbox.addWidget(self.s1)
|
||||||
|
hbox.addWidget(self.s2)
|
||||||
|
hbox.addWidget(self.s3)
|
||||||
|
self.setGeometry(300, 300, 300, 200)
|
||||||
|
self.setWindowTitle('QScrollBar範例')
|
||||||
|
self.setLayout( hbox )
|
||||||
|
|
||||||
|
def sliderval(self):
|
||||||
|
print( self.s1.value(),self.s2.value(), self.s3.value() )
|
||||||
|
palette = QPalette()
|
||||||
|
c = QColor(self.s1.value(),self.s2.value(), self.s3.value(),255)
|
||||||
|
palette.setColor(QPalette.Foreground,c)
|
||||||
|
self.l1.setPalette(palette)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app = QApplication(sys.argv)
|
||||||
|
demo = Example()
|
||||||
|
demo.show()
|
||||||
|
sys.exit(app.exec_())
|
37
pyqt5/CODE/元件使用範例/進階範例/qt05_freshUi.py
Normal file
37
pyqt5/CODE/元件使用範例/進階範例/qt05_freshUi.py
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
'''
|
||||||
|
【簡介】
|
||||||
|
PyQT5中即時刷新介面範例
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
|
||||||
|
from PyQt5.QtWidgets import QWidget, QPushButton , QApplication ,QListWidget, QGridLayout
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
|
||||||
|
class WinForm(QWidget):
|
||||||
|
|
||||||
|
def __init__(self,parent=None):
|
||||||
|
super(WinForm,self).__init__(parent)
|
||||||
|
self.setWindowTitle("即時刷新介面範例")
|
||||||
|
self.listFile= QListWidget()
|
||||||
|
self.btnStart = QPushButton('開始')
|
||||||
|
layout = QGridLayout(self)
|
||||||
|
layout.addWidget(self.listFile,0,0,1,2)
|
||||||
|
layout.addWidget(self.btnStart,1,1)
|
||||||
|
self.btnStart.clicked.connect( self.slotAdd)
|
||||||
|
self.setLayout(layout)
|
||||||
|
|
||||||
|
def slotAdd(self):
|
||||||
|
for n in range(10):
|
||||||
|
str_n='File index {0}'.format(n)
|
||||||
|
self.listFile.addItem(str_n)
|
||||||
|
QApplication.processEvents()
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
app = QApplication(sys.argv)
|
||||||
|
form = WinForm()
|
||||||
|
form.show()
|
||||||
|
sys.exit(app.exec_())
|
Loading…
Reference in New Issue
Block a user