❶ 怎麼為QT中的TextEdit添加背景,或改透明度
設置背景:
方法1,利用QSS,
QTextEdit *textedit=new QTextEdit;
textedit->setstylesheet(tr("QTextEdit{background-image:url(....)}"))
方法2,利用QPalette,
QPalette palette=textedit->palette();
palette.setcolor(QPalette::Background,QColor(....)); //設置顏色
palette.setbrush(QPalette::Background,QBrush(....)); //設置圖片
textedit->setpalette(palette);
設置透明:
方法1,setAttribute(Qt::WA_TranslucentBackground, true);
方法2,利用QPalette
palette.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00));
❷ qt5中,怎麼為主窗體添加背景圖片
setStyleSheet("background-image:url(F:/qt_test/qt/seting.JPG)");該路徑\為/
❸ Qt 中設置窗體透明度的幾種方法
1、設置窗體的背景色 在構造函數里添加代碼,需要添加頭文件qpalette或qgui QPalette pal = palette(); pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00)); setPalette(pal); 通過設置窗體的背景色來實現,將背景色設置為全透。 效果:窗口整體透明,但窗口控制項不透明,QLabel控制項只是字顯示,控制項背景色透明; 窗體客戶區完全透明。 2、使用函數setAttribute(Qt::WA_TranslucentBackground, true); 同樣在構造函數中,效果和第一種方法相同。 3、窗口及其上面的控制項都半透明: setWindowOpacity(0.7) 這個函數可以分10個等級調整透明度,配合QSlider控制項可以做成控制條 效果:窗口及控制項都半透明。 4.窗口整體不透明,局部透明: 在Paint事件中使用Clear模式繪圖。 void TestWindow::paintEvent( QPaintEvent* ){QPainter p(this); p.fillRect( 10, 10, 300, 300, Qt::SolidPattern );}試驗效果:繪制區域全透明。
❹ QT怎麼給控制項設置背景圖片
1 MLCNWidget *w=new MLCNWidget;
w->setAutoFillBackground(true);
QPalette palette;
palette.setBrush(w->backgroundRole(), QBrush(QPixmap("./pic/new_images/bg.jpg")));
w->setPalette(palette);
w->showFullScreen();
2 使用QSS
控制項->setStyleSheet("background-image:url(./pic/new_images/start_jiankong.png)");
這樣做的一個缺點是一旦在一個控制項中使用StyleSheet了,其中的子控制項就全部會繼承,也就是在上面顯示主控制項的背景了。在網上看到可以通過*{}的方式防止繼承,但我試了下,沒成功,不知道到底行不行。
3 關於label上加圖片的
估計除了widget,加的最多的就是QButton和QLabel了,QLabel裡面看QT文檔可以發現有個槽,setPixmap,用了下,特別好用。
ui.label_5->setPixmap(QPixmap("./pic/new_images/start_jiankong.png"));
❺ 怎樣給QT窗體添加背景,還有按鈕怎麼添加圖片
先添加一個資源文件,然後在你代碼的文件夾下面放一張你要添加的背景圖片,將其添加到資源文件中,將根目錄設置為:/,然後執行代碼:
QIcon images= new QIcon(「:/1.png」);
QPushButton *button = new QButton(QIcon(images));
❻ 我想實現在Qt上按鈕上添加背景圖片不知怎樣實現,
看了你的問題,再看了後面的回答,我震驚了,這兩者真的有聯系?PushButton有個屬性叫styleSheet,你可以按以下步驟:
1、點開項目中的以 .ui 結尾的界面編輯文件
2、選中要添加背景圖片的按鈕
3、在按鈕的屬性欄裡面找到styleSheet屬性,它右邊有個省略號按鈕,點擊會出現一個編輯樣式表窗口,可以添加資源,添加漸變之類的,添加背景圖片的話就選擇添加資源(首先按下「添加資源」右邊的小三角,彈出三個選項:background-image、border-image、image),從字面意思都可以看出來背景按鈕是第一個選項,點擊background-image,彈出「選擇資源」窗口,你就可以從已經添加到項目中的資源文件中選擇圖片了,添加資源文件的步驟這兒我就不說了,網上有,回答這個問題不是為了得分什麼的,雖然離現在已經過了那麼久,真的是看不下去
❼ 怎樣使QT的Label控制項背景透明
/*設置樣式表*/
QLabel*label=newQLabel();
label->setStyleSheet("QLabel{background-color:transparent;}");
❽ qtcreator如何在stylesheet中設置圖片
qtcreator如何在stylesheet中設置圖片
項目建立完成後:
右鍵點你的項目 「Add New」->"QT Resource file" 生成一個qrc文件
然後雙擊它 點add 然後Add Prefix 再Add file 完事之後build一下
在你的ui上點右鍵 ->Change StyleSheet ->add Resource ->backgroud-image 順著往下點就能看見你在qrc里添加的那張圖片了
摘要:
QT Create中,對button或者window等部件設置背景、顏色、透明等樣式時,需要用到style sheet,可以直接在代碼里寫,也可以在ui設計師里通過右鍵change style sheet的方法來設置,本人是使用的後面的方式,下面介紹幾種常見的用法。
介紹:
作者使用的開發環境為:qt creator 201005, qt4.7。
1、利用style sheet給窗體設置背景
使用stylesheet設置背景圖片還是有一些要注意的,如果是在mainwindow和dialog中,直接右鍵change style sheet在add resource中選擇background-image或者border-image,選擇資源文件中的圖片就行了(前者是按像素顯示圖片,後者可根據窗體大小來自動縮放圖片),如下圖:
但在widget中就不行,你會發現,用同樣的方法,背景並沒有發生改變,而僅僅是它的子窗體背景圖片發生了改變。
那麼在widget中要如何做呢,我們在widget中放置一個frame,然後對frame通過stylesheet設置背景,後面窗體里所有的部件都放在這個frame里。
我們知道,子窗體會繼承父窗體的屬性,也就是說,父窗體的背景,在子窗體中也會有,那如何讓子窗體不繼承父窗體的背景呢,同樣的,還是在Edit Style Sheet里,需下輸入如下代碼:
#desktop {
border-image: url(:/images/desktop.jpg);
}
#desktop * {
border-image:url();
}
desktop是你的窗體名。
2、menubar設置透明
我想做一個菜單按鈕,像ubuntu的應用程序菜單一樣,能在點擊時彈出一個下拉框,我選擇了用mainwindow來實現,但我如現menuba顯示在頂層很難看,如何才能不讓它顯示呢。
設置menuba的stylesheet,
background-color:transparent
將背景設置為透明。
3、tool button不顯示邊框
當我們設置button的icon時,發現icon的形狀並不與button完全一致,如下圖:
設置stylesheet
border-style: flat;
效果如下:
注意,一定要選擇tool button,而不要選擇push button,因為push button活動的時候會有一個虛線框。
要達到上圖的效果,除了設置border-style:flat,可不可以將style設置為transparent呢?設置成transparent後,顯示上看,效果是和上圖的一樣,但當按下時,button沒有被圖片覆蓋的地方就會顯示被按下時的顏色。
4、在父窗體的stylesheet中設置子部件的屬性
假設有多個button,且它們的樣式是一樣的,那是不是需要一個個設置呢?不需要的,我們可以在父窗體中進行設置,那麼子部件都會繼承它的屬性。
如果某個button的樣式特殊,再單獨修改就行了,下面舉個實例,在父窗體的stylesheet中設置如下
QDialog{background:rgb(229, 255, 239)}
QMenuBar{background:url(:/image/header.bmp)}
QStatusBar{background:url(:/image/header.bmp)}
QPushButton{background:url(:/image/header.bmp)}
QLCDNumber{background:url(:/image/lcd.bmp)}
QLabel{color: rgb(0, 0, 255)}
QDial{background-color: rgb(67, 67, 67)}
QGroupBox {
border-width:2px;
border-style:solid;
border-color:#FFFFFF;
}
QGroupBox{color: rgb(255,255, 255)}
QToolButton{border-style: flat;}
❾ Qt 中怎麼設置框架中的文本框的透明度
ui->lineEdit->setStyleSheet("background-color:rgba(0,0,0,0);");//ui->lineEdit替換成你想要變透明的
❿ 如何設置QPushButton背景透明樣式如QLabel
QT中使用setStyleSheet()設置空間的樣式表是很常用也很方便的方式。使用方法如下
工具/原料
QT開發工具
方法/步驟
首先要定義一個QPushButton對象
QPushButton button = new QPushButton();
設置button的字體類型、字體大小和字體顏色代碼如下:
button->setStyleSheet"QPushButton{ font-family:'Microsoft YaHei';font-size:12px;color:#666666;}");
設置button的狀態圖片:正常、滑鼠移入、滑鼠點擊狀態的圖片切換。代碼如下:
button->setStyleSheet( "QPushButton{border-image: url(Resources/images/BreadCrumbNavigation/navigation_more_normal.png);}" "QPushButton:hover{border-image: url(Resources/images/BreadCrumbNavigation/navigation_more_hover.png);}" "QPushButton:pressed{border-image: url(Resources/images/BreadCrumbNavigation/navigation_more_pressed.png);}");
也可以同時設置這兩種屬性:
button->setStyleSheet( "QPushButton{font-family:'Microsoft YaHei';font-size:12px;color:#666666;}」
border-image: url(Resources/images/BreadCrumbNavigation/navigation_more_normal.png);}" "QPushButton:hover{border-image: url(Resources/images/BreadCrumbNavigation/navigation_more_hover.png);}" "QPushButton:pressed{border-image: url(Resources/images/BreadCrumbNavigation/navigation_more_pressed.png);}");