看了你的问题,几个回答似乎都不完全对。 给你补充一下吧。
你的问题与flask基本上没有关系。flask是一个简单的微型编程框架,很优美,也很简单好用。不过它仅仅实现了基于HTTP协议的服务端交互部分。
一个界面设计除了服务端交互,还需要本地交互(用JS, flash实现),最重要的还是需要客户端界面(用HTML+CSS+JS实现)。文件上传需要(JQUERY+UPLOADFILE库)
从上面的回答看,你似乎刚开始着手做这些。我建议你按这个思路去做。
先学习html2.0,不是4.01,也不是5.0,因为2.0更基本。然后用frame和table做出你的界面,先实现左边的部分
然后学习css,把你左边的两个按钮搞定。用TABLE也可以,比如笨。然后用CSS将frame方式换成iframe实现
用传统的html方式实现右边的上传下载
学习jquery,用其中uploadfile功能重新实现右边的上传功能
如果你学得快,需要1个星期,学得慢就说不准了,也许3个星期完成。
python做界面还是用PYQT吧
PYQT支持PY2和PY3
wxpython仅仅支持PY2
而python自带的tkinter实在是很难弄
#!/usr/bin/python
# -*- coding: utf-8 -*-
# slider.py
import sys
from PyQt4 import QtGui
from PyQt4 import QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
slider = QtGui.QSlider(QtCore.Qt.Horizontal, self)
slider.setFocusPolicy(QtCore.Qt.NoFocus)
slider.setGeometry(30, 40, 100, 30)
self.connect(slider, QtCore.SIGNAL('valueChanged(int)'),
self.changeValue)
self.label = QtGui.QLabel(self)
self.label.setPixmap(QtGui.QPixmap('mute.png'))
self.label.setGeometry(160, 40, 80, 30)
self.setWindowTitle('Slider')
self.setGeometry(300, 300, 250, 150)
def changeValue(self, value):
if value == 0:
self.label.setPixmap(QtGui.QPixmap('mute.png'))
elif value > 0 and value <= 30:
self.label.setPixmap(QtGui.QPixmap('min.png'))
elif value > 30 and value < 80:
self.label.setPixmap(QtGui.QPixmap('med.png'))
else:
self.label.setPixmap(QtGui.QPixmap('max.png'))
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
ex = Example()
ex.show()
app.exec_()
看问题你是要做个Web页面,你用python的flask框架的话就看看这种框架的HTML模版是怎么使用的,你需要了解HTML以及CSS来布局你的界面。