❶ python在pyqt4中怎樣把一個框圖加到布局裡
步驟如下: 在開始菜單所有應用中找到PyQt文件夾下的Designer,雙擊打開。 新建窗體對話框選擇「Dialog without Buttons」,點擊創建按鈕。 在左側控制項欄中拖入一個Label和一個Line Edit並將其選中後進行拖動復制位三個。再從左側拖入一個 PushBut.
❷ python 怎樣把幾個.py程序放在一個裡面
python有一個包或模塊的概念,如果想把幾個python文件放入包中,就在包內添加一個__init__.py空文件,包就是文件夾。
❸ 在python中如何把多個元素放在一個列表裡
❹ python使用plotly生成了多個離線圖表,如何將他們合並成一個html做展示
本人在使用groovy爬取了全國3000+城市的歷史天氣之後,需要把每個城市的歷史天氣都繪制一張Time Series表格,用來反映各地的最高溫最低溫溫差的變化曲線。這里遇到了一個問題,每次plotly繪制完圖標總會調起系統瀏覽器打開呈現,一旦我批量生成N多張表格時,電腦就會卡死了。在使用中文作為文件名的時候遇到了一個錯誤,這個錯誤剛好能巧妙解決這個問題。在不同編碼格式的字元拼接時文件路徑時,會報錯,報錯內容如下:
'ascii' codec can't encode characters in position 69-70: ordinal not in range(128)
然後程序停止運行,但是文件已經生成了。在做了異常處理後,剛好能滿足需求。關於python2.7的編碼問題,並不是很了解為什麼出這個錯。有大神了解的可以分享一下。
python部分的代碼如下:
#!/usr/bin/python
# coding=utf-8
from first.date import DatePlot
import os
from second.MysqlFission import MysqlFission
import shutil
import time
class Fission:
x = []
y = []
z = []
d = []
def __init__(self):
print "歡迎使用fission類!"
# def __init__(self,x,y,z,d):
# def __init__(self,name):
# self.name = name
# print "歡迎使用fission類!"
def getData(self, name):
size = 0;
with open("/Users/Vicky/Documents/workspace/source_api/long/" + name + ".log") as apidata:
for i in apidata:
data = i.split("
")[0].split("|")[0]
low = i.split("
")[0].split("|")[1]
high = i.split("
")[0].split("|")[2]
diff = int(high) - int(low)
self.x.append(data)
self.y.append(low)
self.z.append(high)
self.d.append(diff)
size += 1;
def getDataMarkLine(self, name):
with open("/Users/Vicky/Documents/workspace/source_api/long/" + name + ".log") as apidata:
for i in apidata:
data = i.split("
")[0].split("|")
day = data[0]
time = float(data[1])
self.x.append(day)
self.y.append(time)
return [self.x, self.y]
if __name__ == "__main__":
names = []
for name in names:
name = u"三沙"
sql = MysqlFission()
sql.getWeather(name)
fission = Fission()
fission.x = []
fission.y = []
fission.z = []
fission.d = []
fission.getData(name)
try:
DatePlot.MakePlotTwo(fission.x, name, high=fission.y, low=fission.z, diff=fission.d)
except BaseException:
print 2
shutil.file(name + ".html", "/Users/Vicky/Desktop/w/" + name + ".html")
os.remove(name + ".html")
time.sleep(5)
下面是北京市的效果圖:

❺ python 如何實現N個小圖標隨機不重疊放置到一個大圖里

思路:
①畫布的大小已經確定,橫縱坐標位置最大值都是500
②以坐標左下角為零點,任選一個坐標作為圖片左上角的點,我們需要放進去的圖片縮放後的像素分別為(x,y)
③從上面的圖片可以看到,不管圖片怎麼旋轉,中間的區域都是隨便放,中間區域坐標范圍為[(x^2+y^2)^0.5,500-(x^2+y^2)^0.5],由於坐標默認正方形,那麼橫縱坐標的范圍都是這個,在這個區間,你的圖片可以任意旋轉放置都不會出界
④四條邊和四個角算的原理跟上面一樣,這是一張圖片放置
⑤第二張以上的圖片放置也是一樣的,不同的是要加一個重合的判定,如果隨機的值生成的圖形跟圖片區域中得任意圖形重合,則再選取一個隨機數重新生成大小和旋轉,直至放進去沒有重合為止,重合可以通過面積運算,沒有交叉的區域設為0,交叉的區域設為1即可判斷。
⑥重復以上操作,直至15張全部放置完成即可
❻ python 根據絕對路徑找圖片,並把找到的保存在一個文件夾中
from PIL import Imageimport os.pathimport globdef convertjpg(jpgfile,outdir,width=1280,height=720): img=Image.open(jpgfile) new_img=img.resize((width,height),Image.BILINEAR) new_img.save(os.path.join(outdir,os.path.basename(jpgfile)))for jpgfile in glob.glob("D:/python/*.jpg"): convertjpg(jpgfile,"D:/newfile")
convertjpg調用時可以有四個參數,如convertjpg(jpgfile,"D:/newfile",800,600)
Image open了jpg用完後要不要close?
❼ python 將多個數據圖繪制到一張圖上
假設有9張圖, 化成3行3列
plt.subplot(331)
plt.plot(...)
plt.subplot(332)
plt.plot(...)
...
plt.subplot(339)
plt.plot(...)
❽ Python 讀取文件夾將裡面的圖片處理成想要的大小並保存在個指定位置
fromPILimportImage
importos.path
importglob
defconvertjpg(jpgfile,outdir,width=1280,height=720):
img=Image.open(jpgfile)
new_img=img.resize((width,height),Image.BILINEAR)
new_img.save(os.path.join(outdir,os.path.basename(jpgfile)))
forjpgfileinglob.glob("D:/python/*.jpg"):
convertjpg(jpgfile,"D:/newfile")
convertjpg調用時可以有四個參數,如convertjpg(jpgfile,"D:/newfile",800,600)
Image open了jpg用完後要不要close?