Ⅰ python怎麼使用qtdesigner設計的ui
軟硬體環境
OS X EI Capitan
Python 3.5.1
PyQt 5.5.1
PyCharm 5.0.1
前言
在PyQt5系列教程的第一篇h50218157,我們已經搭建好了開發環境,今天,我們就用Python開發第一個Qt GUI程序,讓大家感受下Qt開發的魅力,熟悉下Qt開發GUI程序的一般流程。
製作程序UI界面,一般會有2種方法,利用UI製作工具和純代碼編寫,像移動開發中的Android和iOS都是這樣,在PyQt5中,我們也有這么2種方式。
QtDesigner工具簡介
QtDesigner是專門用來製作Qt程序UI界面的工具,它使用起來非常簡單,只要通過拖拽和點擊就可以完成復雜的界面設計,而且還可以隨時預覽查看效果圖。
其中,區域1是UI界面製作導向,QtDesigner為我們提供了一些常用模塊,非常方便;區域2是UI控制項列表;區域3是控制項屬性列表;區域4是Action Editor編輯列表;區域5信號和槽的編輯列列表;區域6是資源處理窗口。
第一個PyQt5程序
說了這么多,還不如來動手實踐一下。
這個是我們第一個PyQt5項目的界面效果圖,需要實現的是當點擊界面上的按鈕時,彈出一個提示框,提示框內顯示一串文字。
好了,目標定好了,馬上開始去實現它。
QtDesigner設計UI
創建一個基於Main Window模塊的UI文件,取名叫firstPyQt5.ui。從Widget Box中找到(也可以)Push Button,將它拖拽到工作空間里,調整位置,在Button上輸入文字,調整字體及大小,這些都可以在Property Editor里操作。按鈕點擊彈框的操作會牽出Qt里非常重要的一對概念,即信號和槽(signal and slot),關於這個我打算再開一篇博文細講。現在你只需要知道slot就是一個函數,如果一個signal和一個slot綁定以後,那麼signal被觸發,slot就會被執行。
那麼問題來了,怎麼在QtDesigner里綁定signal和slot呢?打開菜單欄里的Edit—>Edit Signals/Slots,然後游標移到按鈕上點擊拖拽,這時會彈出一個編輯框
因為是點擊,所以signal選擇clicked(),slot函數現在還沒有,我們就點擊Edit新建一個,叫firstPyQt5_button_click()
為了演示一下資源文件的使用,這里導入兩張圖片,一張給主窗口,另一張給幫助菜單項里的Action。
在QtDesigner引用資源文件之前,需要先准備一個qrc文件,它跟xml文件比較類似,用來制定資源文件的路徑
接下來就可以在QtDesigner的Resource Browser里倒入qrc文件,這樣qrc文件中描述的資源就可以使用了
將firstPyQt5.ui轉換成python代碼
非常簡單,通過Qt提供的命令行工具pyuic5就可以輕松實現
創建PyCharm工程
新建一個新的python文件main.py,代碼如下
接下修改下firstPyQt5.py文件,主要是去實現slot函數,因為之前在QtDesigner里沒有實現,讓它彈出一個消息框
最後運行下工程
這里一般將ui文件單獨存成一個文件,便於更新。
Ⅱ 如何用python腳本語言寫帶窗口程序
當你想學習一門新的語言時,特別是像Python這樣的腳本語言,在你准備充分開始寫應用程序的圖形化界面之前,有時候你可能被迫使用應用程序的控制台。從第一版商業圖形界面發行以來(感興趣的話,可以查看Xerox之星),至今經過了25年的時間,在應用程序上繼續使用控制台看上去似乎有點古老。非常感謝Python腳本語言強調簡潔的語法,這意味著你不需要成為Python編程高手就能在程序中使用圖形用戶界面。為了證明這個說法,我將使用Python標準的GUI(圖形用戶界面)工具:Tk來建立一個簡單的記錄會話程序。我不會詳細介紹Python的簡單語法,如果你有不明白的地方,請你閱讀我先前關於這個主題的文章(點擊這里和這里就可以查看);讓我們從基本的開始講起,首先你需要輸入Tk界面到你的程序命名空間中。因為我們將會不斷地引用到Tk窗口小部件,我們不希望一直用一個包來限定它們,所以最好的方法就是這樣做:from Tkinter import *這個導入語句與傳統的導入語句的區別在於,它在模塊中將所有的東西導入程序默認的命名空間,而不是在你需要引用一個像Tkinter.Textbox文本框的時候,你就只能寫文本框。現在我們來建立根窗口並設置它的標題來解釋一些東西:root = Tk()root.title("Note Taker")創建根窗口就像創建一個Tk類的實例一樣簡單,它會裝載圖形工具包並提供給我們一個可以裝載窗口小部件的空白窗口。這是啟動一個Tk程序基本過程的第一部分。root.mainloop()第二部分(上面所顯示的)是調用Tk主循環(mainloop),這個主循環是用來處理事件的,比如鍵盤事件或者滑鼠輸入,允許用戶與對話框交換信息。事實上,這時候你才真正地用到了GUI程序。用那四種方式運行一個python腳本,將彈出一個窗口,但是這個窗口僅僅是放置在那裡,它不會做任何操作。
Ⅲ 如何將寫好的python程序植入設計的軟體界面上
摘要 步驟:
Ⅳ python安裝PyQt檢測是否成功時彈出這樣的窗口是什麼原因
Python3 安裝 PyQt5 -pycharm 環境搭建
執行命令:
pip3 install PyQt5
Ⅳ Python 怎麼 打開軟體默認是多窗口
window2.mainloop()和window3.mainloop()刪除就可以實現了。
Toplevel不需要mainloop。
Ⅵ python如何設計窗口
PyQt是一個基於Qt的介麵包,可以直接拖拽控制項設計UI界面,下面我簡單介紹一下這個包的安裝和使用,感興趣的朋友可以自己嘗試一下:
1、首先,安裝PyQt模塊,這個直接在cmd窗口輸入命令「pip install pyqt5」就行,如下,整個模塊比較大,下載過程需要等待一會兒,保持聯網:
2、安裝完成後,我們就可以直接打開Qt自帶的Qt Designer設計師設計界面了,這里默認會安裝到site-packages->PyQt5->Qt->bin目錄,打開後的界面如下,可以直接新建對話框等窗口,所有的控制項都可以直接拖拽,編輯屬性,非常方便:
相關推薦:《Python基礎教程》
3、這里我簡單的設計了一個登錄窗口,2個輸入框和2個按鈕,如下,這里可以直接使用QSS對界面進行美化(設置styleSheet屬性即可),類似網頁的CSS,如果你有一定的前端基礎,那麼美化起來會非常容易:
設計完成後,還只是一個ui文件,不是現成的Python代碼,還需要藉助pyuic5工具(也在bin目錄下)才能將ui文件轉化為Python代碼,切換到ui文件所在目錄,輸入命令「pyuic5 -o login.py login.ui」即可(這里替換成你的ui文件),轉化成功後的Python代碼如下(部分截圖):
還需要在最下面添加一個main函數,創建上面Ui_Form類對象顯示窗口即可,如下:
最後點擊運行程序,效果如下,和剛才設計的界面效果一模一樣:
至此,我們就完成了利用Python的PyQt模塊直接拖拽控制項來設計UI界面。總的來說,整個過程非常簡單,只要你有一定的Python基礎,熟悉一下操作過程,很快就能掌握的,當然,還有許多其他UI開發模塊,像tkinter,wxPython,Eric6等,也都非常不錯。
Ⅶ 用的pyqt5,想實現點按鈕打開新窗口 【總是報錯,實在不知道這個BUG怎麼調了,求大佬幫助】
qt 點擊按鈕調用另一個窗口後,新窗口按鈕自定義槽函數不執行,...
主窗口按鈕的槽函數,點擊調用
void Ui_initface::set_clicked()
{
Ui_Dialog udialog;
udialog.setupUi(dialog);
dialog->show();
}
新窗口的槽函數
void Ui_Dialog::save_conf()
{
char s_c[11];
int s_i[8];
memset(s_i,0,8);
QString pstr;
s_i[0]=spinBox0->value();
printf("%d\n",s_i[0]);
s_i[1]=spinBox0_2->value();
pstr=lineEdit_ag->text();
const char *c_pstr = pstr.toLatin1().data();
//printf("%s\n",c_pstr);
strcpy(s_c,c_pstr);
s_i[4]=radioButton_ag1->isChecked();
s_i[5]=radioButton_ag01->isChecked();
s_i[2]=radioButton_a1->isChecked ();
s_i[3]=radioButton_01->isChecked ();
s_i[6]=radioButton_ab1->isChecked ();
s_i[7]=radioButton_ab01->isChecked ();
printf("%d\n",s_i[1]);
printf("%d\n",s_i[2]);
printf("%d\n",s_i[3]);
printf("%d\n",s_i[4]);
printf("%d\n",s_i[5]);
printf("%d\n",s_i[6]);
printf("%d\n",s_i[7]);
Write_Config(s_i,s_c);
emit CloseDialog();
}
Ⅷ 利用Python和QT編程實現了主界面,繼承的是Qmainwindow,怎麼再添加按鈕,彈出另一個界面呢,糾結!!!
我知道你想要的是多窗口程序,建議你學習一下下面這個文檔,講的比較全面。
http://wenku..com/view/607b21640b1c59eef8c7b45b.html
Ⅸ python pyqt5 什麼窗口可以顯示變化的數據
這個和用不用python沒啥關系,是數據來源的問題。 調用淘寶API,使用 api相關介面獲得你想要的內容,我 記得api中有相關的介面,你可以看一下介面的說明。 用python做爬蟲來進行頁面數據的獲齲 希望能幫到你。
Ⅹ Python,pyqt5
pyqt5&pythonGui入門教程(1)第一個窗口(1) 第一個窗口和代碼詳細注釋: fromPyQt5importQtWidgets#從PyQt庫導入QtWidget通用窗口類classmywindow(QtWidgets.QWidget):#自己建一個mywindows類,以class開頭,mywindows是自己的類名,