青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Cpper
C/C++高級工程師 Android高級軟件工程師 IT集成工程師 音頻工程師 熟悉c,c++,java,c#,py,js,asp等多種語言 程序猿

使用QT Designer設計軟件界面
使用過程沒什么說的

假定生成的ui文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 
<class>Form</class>
 
<widget class="QWidget" name="Form">
  
<property name="geometry">
   
<rect>
    
<x>0</x>
    
<y>0</y>
    
<width>203</width>
    
<height>177</height>
   
</rect>
  
</property>
  
<property name="windowTitle">
   
<string>Form</string>
  
</property>
  
<widget class="QWidget" name="">
   
<property name="geometry">
    
<rect>
     
<x>20</x>
     
<y>20</y>
     
<width>164</width>
     
<height>139</height>
    
</rect>
   
</property>
   
<layout class="QVBoxLayout" name="verticalLayout_3">
    
<item>
     
<widget class="QLineEdit" name="lineEdit"/>
    
</item>
    
<item>
     
<layout class="QHBoxLayout" name="horizontalLayout">
      
<item>
       
<layout class="QVBoxLayout" name="verticalLayout_2">
        
<item>
         
<widget class="QPushButton" name="pushButton_7">
          
<property name="text">
           
<string>PushButton</string>
          
</property>
         
</widget>
        
</item>
        
<item>
         
<widget class="QPushButton" name="pushButton_5">
          
<property name="text">
           
<string>PushButton</string>
          
</property>
         
</widget>
        
</item>
        
<item>
         
<widget class="QPushButton" name="pushButton">
          
<property name="text">
           
<string>PushButton</string>
          
</property>
         
</widget>
        
</item>
       
</layout>
      
</item>
      
<item>
       
<layout class="QVBoxLayout" name="verticalLayout">
        
<item>
         
<widget class="QPushButton" name="pushButton_2">
          
<property name="text">
           
<string>PushButton</string>
          
</property>
         
</widget>
        
</item>
        
<item>
         
<widget class="QPushButton" name="pushButton_8">
          
<property name="text">
           
<string>PushButton</string>
          
</property>
         
</widget>
        
</item>
        
<item>
         
<widget class="QPushButton" name="pushButton_4">
          
<property name="text">
           
<string>PushButton</string>
          
</property>
         
</widget>
        
</item>
       
</layout>
      
</item>
     
</layout>
    
</item>
   
</layout>
  
</widget>
 
</widget>
 
<resources/>
 
<connections/>
</ui>
然后修改pro文件
加入對QUitools的鏈接
CONFIG += uitools
其main.cpp如下:
#include <QFile>
#include 
<QtGui/QApplication>
#include 
<QtGui/QWidget>
#include 
<QtGui/QLineEdit>
#include 
<QtUiTools/QuiLoader>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QUiLoader ui;
    QFile file(
"dlg.ui");
    QWidget
* widget = ui.load(&file);
    
if(widget)
    {
        widget
->setWindowTitle("Dlg");
        QLineEdit
* lineedit = widget->findChild<QLineEdit*>("lineEdit");
        lineedit
->setStyleSheet("QLineEdit {background-color: yellow}");
        lineedit
->setText("information.");
        widget
->show();
    }
    
return a.exec();
}
posted @ 2011-08-05 22:01 ccsdu2009 閱讀(947) | 評論 (0)編輯 收藏
 
#include <QtGui/QApplication>
#include 
<QtGui/QScrollArea>
#include 
"widget.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget 
*widget = new Widget;

    QScrollArea area;
    area.setWidget(widget);
    area.viewport()
->setBackgroundRole(QPalette::Dark);
    area.viewport()
->setAutoFillBackground(true);
    area.setWindowTitle(
"Icon Cool");
    area.show();

    
return a.exec();
}
posted @ 2011-08-03 22:37 ccsdu2009 閱讀(479) | 評論 (0)編輯 收藏
 
#include <QColor>
#include 
<QImage>
#include 
<QtGui/QWidget>

class Widget : public QWidget
{
    Q_OBJECT
    Q_PROPERTY(QColor penColor READ penColor WRITE setPenColor)
    Q_PROPERTY(QImage iconImage READ iconImage WRITE setIconImage)
    Q_PROPERTY(
int zoomFactor READ zoomFactor WRITE setZoomFactor)
public:
    Widget(QWidget 
*parent = 0);
    
~Widget();

    
void   setPenColor(const QColor& newColor);
    QColor penColor()
const{return curColor;}
    
void   setZoomFactor(int newZoom);
    
int    zoomFactor()const{return zoom;}
    
void   setIconImage(const QImage& image);
    QImage iconImage()
const{return image;}
    QSize  sizeHint()
const;
protected:
    
void   mousePressEvent(QMouseEvent *event);
    
void   mouseMoveEvent(QMouseEvent* event);
    
void   paintEvent(QPaintEvent* event);
private:
    
void   setImagePixel(const QPoint &pos,bool opaque);
    QRect  pixelRect(
int i,int j)const;

    QColor curColor;
    QImage image;
    
int    zoom;
};

#include <QtGui>
#include "widget.h"
Widget::Widget(QWidget *parent)
 : QWidget(parent)
{
 this->setAttribute(Qt::WA_StaticContents);
 this->setSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum);
 this->curColor = Qt::black;
 this->zoom = 8;
 image = QImage(16,16,QImage::Format_ARGB32);
 image.fill(qRgba(0,0,0,0));
}
Widget::~Widget()
{ 
}
QSize Widget::sizeHint()const
{
 QSize size = zoom * image.size();
 if(zoom >= 3)
 size += QSize(1,1);
 return size;
}
void Widget::setPenColor(const QColor& newColor)
{
 curColor = newColor;
}
void Widget::setIconImage(const QImage& image)
{
 if(this->image != image)
 {
 this->image = image.convertToFormat(QImage::Format_ARGB32);
 update();
 this->updateGeometry();
 }
}
void Widget::paintEvent(QPaintEvent* event)
{
 QPainter painter(this);
 if(zoom >=3)
 {
 painter.setPen(this->palette().foreground().color());
 for(int i = 0; i <= image.width();++i)
 painter.drawLine(zoom*i,0,zoom*i,zoom*image.height());
 for(int j = 0;j <= image.height();j++)
 painter.drawLine(0,zoom*j,zoom*image.width(),zoom*j);
 }
 for(int i = 0; i < image.width();i++)
 {
 for(int j = 0;j < image.height();j++)
 {
 QRect rect = this->pixelRect(i,j);
 if(!event->region().intersect(rect).isEmpty())
 {
 QColor color = QColor::fromRgba(image.pixel(i,j));
 if(color.alpha() < 255)
 painter.fillRect(rect,Qt::white);
 painter.fillRect(rect,color);
 }
 }
 }
}
QRect Widget::pixelRect(int i, int j) const
{
 if(zoom >=3)
 return QRect(zoom*i+1,zoom*j+1,zoom-1,zoom-1);
 return QRect(zoom*i,zoom*j,zoom,zoom);
}
void Widget::mousePressEvent(QMouseEvent *event)
{
 if(event->button() == Qt::LeftButton)
 setImagePixel(event->pos(),true);
 else if(event->button() == Qt::RightButton)
 setImagePixel(event->pos(),false);
}
void Widget::mouseMoveEvent(QMouseEvent *event)
{
 if(event->buttons() & Qt::LeftButton)
 setImagePixel(event->pos(),true);
 else if(event->buttons() & Qt::RightButton)
 setImagePixel(event->pos(),false);
}
void Widget::setImagePixel(const QPoint &pos, bool opaque)
{
 int i = pos.x()/zoom;
 int j = pos.y()/zoom;
 if(image.rect().contains(i,j))
 {
 if(opaque)
 image.setPixel(i,j,penColor().rgba());
 else
 image.setPixel(i,j,qRgba(0,0,0,0));
 this->update(this->pixelRect(i,j));
 }
}
void Widget::setZoomFactor(int newZoom)
{
 if(newZoom < 1)
 newZoom = 1;
 if(newZoom != zoom)
 {
 zoom = newZoom;
 update();
 updateGeometry();
 }
}
幾點說明:
1.宏 Q_PROPERTY 聲明屬性讀寫屬性
2.setSizePolicy(.,.) 說明控件最小尺寸為推薦尺寸
3.sizeHint() 獲得控件推薦尺寸
4.控件 update()/updateGeometry()用于下次重繪和調整控件尺寸
5.在函數paintEvent中繪制圖元
6.一個控件的調色板有3個顏色組 激活,非激活,不可用
posted @ 2011-08-03 22:15 ccsdu2009 閱讀(1205) | 評論 (0)編輯 收藏
 
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    edit 
= new QTextEdit;
    
this->setCentralWidget(edit);
    setAcceptDrops(
true);
    
this->setWindowTitle(tr("Text Editor"));
}

MainWindow::
~MainWindow()
{
}

void MainWindow::dragEnterEvent(QDragEnterEvent* event)
{
    
if(event->mimeData()->hasFormat("text/uri-list"))
        
event->acceptProposedAction();
}

void MainWindow::dropEvent(QDropEvent* event)
{
    QList
<QUrl> uri = event->mimeData()->urls();
    
if(uri.isEmpty())
        
return;
    QString file 
= uri.first().toLocalFile();
    
if(file.isEmpty())
        
return;
    
this->setWindowTitle(tr("%1 -- %2").arg(file).arg("Drag File"));
}
posted @ 2011-08-02 22:39 ccsdu2009 閱讀(545) | 評論 (0)編輯 收藏
 
一個簡單的使用例子如下:
#include "mainwindow.h"
#include 
<QtGui/QDockWidget>
#include 
<QtGui/QTextEdit>

MainWindow::MainWindow(QWidget 
*parent)
    : QMainWindow(parent)
{
    QDockWidget
* widget = new QDockWidget(tr("DockWidget"));
    QTextEdit
* edit = new QTextEdit;
    widget
->setWidget(edit);
    widget
->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    
this->addDockWidget(Qt::LeftDockWidgetArea,widget);
}

MainWindow::
~MainWindow()
{

}
需要說明的是僅MainWidow僅可設置Dock
posted @ 2011-08-02 22:16 ccsdu2009 閱讀(803) | 評論 (0)編輯 收藏
 
#include <QtGui/QApplication>
#include 
<QtGui/QTextEdit>
#include 
<QtGui/QSplitter>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTextEdit
* text1 = NULL;
    QTextEdit
* text2 = NULL;
    QSplitter
* splitter;
    text1 
= new QTextEdit;
    text2 
= new QTextEdit;
    splitter 
= new QSplitter(Qt::Vertical);
    splitter
->addWidget(text1);
    QTextEdit
* text3 = new QTextEdit;
    QSplitter
* sp1 = new QSplitter(Qt::Horizontal);
    splitter
->addWidget(text2);
    splitter
->setStretchFactor(1,1);
    sp1
->addWidget(splitter);
    sp1
->addWidget(text3);
    sp1
->show();
    
return a.exec();
}
posted @ 2011-08-02 21:52 ccsdu2009 閱讀(643) | 評論 (0)編輯 收藏
 
接上文
一個簡單的基于QT的程序啟動畫面代碼為:
#include <QtGui/QApplication>
#include 
<QtGui/QSplashScreen>
#include 
<QtGui/QPixmap>
#include 
"registerdlg.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QSplashScreen
* splash = new QSplashScreen(QPixmap("DevCPP.bmp"));
    splash
->show();

    RegisterDlg w;

    
//! load some data

    Qt::Alignment topright 
= Qt::AlignRight | Qt::AlignTop;
    splash
->showMessage(QObject::tr("Loading addins"),topright,Qt::blue);

    
//! load soma data

    
for(int i = 0;i< 9999;i++)
        ;

    w.show();
    splash
->finish(&w);
    delete splash;
    
return a.exec();
}
posted @ 2011-08-01 22:16 ccsdu2009 閱讀(510) | 評論 (0)編輯 收藏
 
還不太完善
#ifndef REGISTER_DLG_H
#define REGISTER_DLG_H

#include 
<QtGui/QDialog>
#include 
<QtGui/QVBoxLayout>
#include 
<QtGui/QHBoxLayout>
#include 
<QtGui/QGridLayout>
#include 
<QtGui/QLabel>
#include 
<QtGui/QLineEdit>
#include 
<QtGui/QPushButton>

class RegisterDlg : public QDialog
{
    Q_OBJECT
public:
    RegisterDlg(QWidget 
*parent = 0);
    
~RegisterDlg();
public slots:
    
void checkRegister();
private:
    QVBoxLayout
*  layout;
    QLabel
*       label;
    QGridLayout
*  gridlayout;
    QLabel
*       namelabel;
    QLineEdit
*    nameedit;
    QLabel
*       codelabel;
    QLineEdit
*    codeedit;
    QHBoxLayout
*  hlayout;
    QPushButton
*  confirm;
    QPushButton
*  cancel;
};

#endif
//! ccsdu2004
cxx
#include <QtGui/QMessageBox>
#include 
"registerdlg.h"

RegisterDlg::RegisterDlg(QWidget 
*parent)
    : QDialog(parent)
{
    layout 
= new QVBoxLayout;
    label  
= new QLabel(tr("Please input register info below"));
    layout
->addWidget(label);
    gridlayout 
= new QGridLayout;
    namelabel  
= new QLabel(tr("User Name"));
    nameedit   
= new QLineEdit();
    codelabel  
= new QLabel(tr("Register Code"));
    codeedit   
= new QLineEdit();
    gridlayout
->addWidget(namelabel,0,0);
    gridlayout
->addWidget(nameedit,0,1);
    gridlayout
->addWidget(codelabel,1,0);
    gridlayout
->addWidget(codeedit,1,1);
    layout
->addLayout(gridlayout);
    hlayout 
= new QHBoxLayout;
    confirm 
= new QPushButton(tr("Confirm"));
    cancel  
= new QPushButton(tr("Cancel"));
    hlayout
->addWidget(confirm);
    hlayout
->addWidget(cancel);
    layout
->addLayout(hlayout);
    
this->setLayout(layout);
    
this->setWindowTitle(tr("Register"));

    connect(
this->cancel,SIGNAL(clicked()),this,SLOT(close()));
    connect(
this->confirm,SIGNAL(clicked()),this,SLOT(checkRegister()));
}

RegisterDlg::
~RegisterDlg()
{
}

void RegisterDlg::checkRegister()
{
}
posted @ 2011-08-01 21:55 ccsdu2009 閱讀(823) | 評論 (0)編輯 收藏
 
最近感覺都在瞎忙乎
無論是GUI還是Audio Effect都不能帶來收益
學了幾年編程
現在發現居然對UI編程還處于一年級水平
需要提高UI編程能力啊
這簡直就是大BUG
posted @ 2011-07-31 22:16 ccsdu2009 閱讀(499) | 評論 (1)編輯 收藏
 
int strncasecomp(char const *str1, char const *str2, unsigned long len)
{
    signed 
int c1 = 0, c2 = 0;

    
while (len--)
    {
        c1 
= tolower(*str1++);
        c2 
= tolower(*str2++);

        
if (c1 == 0 || c1 != c2)
            
break;
    }

    
return c1 - c2;
}
posted @ 2011-06-16 22:43 ccsdu2009 閱讀(1469) | 評論 (0)編輯 收藏
僅列出標題
共38頁: First 17 18 19 20 21 22 23 24 25 Last 
 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲第一精品久久忘忧草社区| 亚洲欧美一区二区三区极速播放 | 午夜久久久久久| 亚洲欧美文学| 国产亚洲精品资源在线26u| 久久国产精品网站| 亚洲国产美女久久久久| 亚洲一区图片| 激情校园亚洲| 欧美日韩成人在线播放| 亚洲欧美视频在线| 欧美不卡视频一区发布| 在线亚洲欧美| 国产揄拍国内精品对白| 欧美11—12娇小xxxx| 99视频一区二区三区| 欧美日韩一区国产| 欧美在线亚洲综合一区| 91久久在线播放| 久久精品99| 在线亚洲观看| 激情成人中文字幕| 欧美午夜一区二区三区免费大片| 欧美高清视频一二三区| 亚洲综合精品一区二区| 亚洲观看高清完整版在线观看| 午夜视频一区二区| 91久久在线播放| 久久久精品久久久久| 一本色道久久综合亚洲精品小说| 欧美成人精品影院| 亚洲欧美日韩国产一区二区三区 | 欧美成人国产一区二区| 中文日韩电影网站| 一区二区亚洲欧洲国产日韩| 欧美偷拍另类| 欧美成人69av| 久久久人成影片一区二区三区观看 | 一区二区三区视频在线观看| 久久国产精品免费一区| 一区二区三区高清不卡| 亚洲电影成人| 国内精品久久久久久| 国产精品久久国产精麻豆99网站| 在线亚洲伦理| 亚洲一区二区在线播放| 亚洲高清色综合| 国产一区欧美日韩| 国产精品午夜电影| 国产精品第一区| 欧美日本在线观看| 欧美激情视频在线播放| 久久在线免费观看| 久久久久久久91| 久久精品亚洲一区| 久久久www成人免费精品| 午夜久久一区| 午夜日韩电影| 香蕉免费一区二区三区在线观看 | 99精品视频网| 亚洲美女色禁图| 亚洲日本欧美| 亚洲精选国产| 99视频有精品| 亚洲桃花岛网站| 亚洲在线观看视频| 亚洲永久视频| 欧美一级片久久久久久久| 午夜精品在线| 久久国产福利国产秒拍| 欧美在线一区二区| 久久久噜噜噜久噜久久| 久久久久免费观看| 久久综合狠狠| 欧美黄污视频| 欧美视频不卡| 国产欧美日韩精品丝袜高跟鞋| 久久综合精品一区| 免费日韩av电影| 欧美女人交a| 欧美视频在线观看一区| 国产精品午夜在线| 激情另类综合| 亚洲精选国产| 亚洲综合色在线| 久久久国产精品亚洲一区| 美女啪啪无遮挡免费久久网站| 一区二区三区四区国产| 宅男噜噜噜66国产日韩在线观看| 伊人成年综合电影网| 亚洲黄网站黄| 99re6这里只有精品视频在线观看| 国内一区二区三区在线视频| 在线观看免费视频综合| 亚洲看片免费| 欧美一区二视频在线免费观看| 99国产精品久久久久久久久久| 国户精品久久久久久久久久久不卡 | 母乳一区在线观看| 欧美日韩在线一区二区三区| 国产亚洲日本欧美韩国| 亚洲国产综合91精品麻豆| 亚洲午夜国产成人av电影男同| 亚洲欧洲日韩在线| 亚洲一二三区在线| 久久久久久久尹人综合网亚洲| 亚洲综合日韩| 美女脱光内衣内裤视频久久网站| 香蕉久久夜色精品| 女女同性精品视频| 99国产精品视频免费观看| 久久国产精品久久久久久电车| 亚洲欧美在线播放| 另类春色校园亚洲| 国产精品视屏| 亚洲人成绝费网站色www| 欧美一区二区三区视频免费播放| 亚洲欧美日韩一区二区在线| 久久久久亚洲综合| 一区二区三区高清| 蜜桃av久久久亚洲精品| 久久精品理论片| 欧美日韩午夜在线| 在线免费不卡视频| 欧美中文字幕精品| 99成人在线| 欧美成人性生活| 狠狠久久婷婷| 欧美在线3区| 一本色道久久精品| 欧美激情一区二区三区不卡| 黄色成人在线网址| 欧美影视一区| 中文欧美字幕免费| 欧美日韩精品一区二区三区四区 | 亚洲国产高清高潮精品美女| 午夜在线a亚洲v天堂网2018| 欧美激情一区二区三区| 午夜亚洲精品| 国产精品人成在线观看免费 | 亚洲自拍偷拍一区| 亚洲激情小视频| 久久综合久久综合久久综合| 国产日本精品| 欧美在线影院| 亚洲免费在线视频一区 二区| 欧美在线啊v一区| 国产精品入口日韩视频大尺度 | 亚洲国产成人av| 久久久综合免费视频| 午夜老司机精品| 国产伦理一区| 午夜精品www| 亚洲尤物视频在线| 国产精品爽黄69| 欧美一区二区福利在线| 亚洲一区二区三区国产| 国产精品美女午夜av| 亚洲一区二区三区在线视频| 一级日韩一区在线观看| 欧美视频一区二区三区…| 亚洲一区二区欧美日韩| 一本综合精品| 国产精品欧美一区喷水| 欧美一区二区三区婷婷月色| 午夜精品久久久久久99热软件| 免费成年人欧美视频| 最新精品在线| 亚洲日本中文字幕| 欧美日韩一区二区三区四区五区 | 亚洲激情第一区| 欧美国产先锋| 欧美高清视频在线播放| 99在线热播精品免费| 99综合精品| 国产精品最新自拍| 久久午夜精品一区二区| 久热精品视频在线观看| 亚洲伦理久久| 宅男噜噜噜66国产日韩在线观看| 免费在线欧美视频| 在线亚洲自拍| 亚洲欧美一区二区三区极速播放| 欧美激情一区二区三区在线| 一区二区国产精品| 亚洲自拍啪啪| 亚洲大胆av| 一二三四社区欧美黄| 国产一区二区三区久久| 亚洲国产cao| 国产精品久久久久永久免费观看| 亚洲免费播放| 亚洲欧美日韩在线不卡| 在线精品国产成人综合| 亚洲区中文字幕| 国产欧美一区二区在线观看| 久久久蜜臀国产一区二区| 欧美成人精品在线| 欧美中文日韩| 欧美精品在线免费播放|